当前位置: 首页 > 面试题库 >

Bash读取输出?

仰钧
2023-03-14
问题内容

我正在Ubuntu 11.4上的一个终端上运行它。

假设我执行一个bash脚本,输出为:

Test1: Some text...
Test2: Some text...
Test3: Some text...

在同一个bash脚本中,如何将上述输出存储为一个或多个变量?

理想的解决方案是准备好在以下条件中使用:(输出的第一行将存储在$ln1等中)

if [ $ln1 = "Test1: Some text..." ] ; then

问题答案:

所以你要

output=$(command)
while read -r line; do
    process "$line"
done <<< "$output"

请参见Bash手册中的“此处字符串”

或流程替代

while read -r line; do
    process "$line"
done < <(command)


 类似资料:
  • 在使用ProcessBuilder的Java应用程序中,我无法读取在git bash中运行的git命令的输出。 OS:Windows 8.1---IDE:IntelliJ 使用processBuilder打开git bash并在其中执行命令 但是,我仍然不明白为什么不能用ProcessBuilder读取输出

  • 问题内容: 简单的脚本在这里: a) 不断从套接字读取并将值存储在关联数组中 b) 不断从stdin读取值并响应t / f(如果它们已存在于关联数组中) a和b是随机事件,不以任何方式关联。 诀窍是从两个子流程访问数组(因为将流程放在后台会将其作为子流程生成) 我正在考虑最好的策略,并且出现了一些想法,但是我想知道是否有人有更好的想法: 1) 将输入从套接字重定向到stdin作为子进程,并在一个w

  • 问题内容: 我想执行以下操作,逐行读取文件并将每行的值用作参数 但是当我执行echo $ CMD时,它只返回cat:S 问题答案: 您所拥有的就是将文本传递到循环中。 您只想要:

  • 我有一个bash文件在建立postgres数据库。 我有一个导出密码的简单bash文件 节点服务器的其余部分使用保存在. env文件中的环境变量。为了顺序和简单起见,我希望我的postgres密码存储在同一个文件中: 如何从数据库中导入变量。env文件是否作为bash文件? 有没有其他方法可以解决上述问题?

  • 我尝试使用getch()和kbsit()读取用户的输入,但它似乎无法识别按键被按下。 此代码打印“开始”,按下键时不打印任何内容。使用getch()读取和打印哪怕一个字符,而不使用循环,我都不走运。

  • 我目前正试图从服务器读取图像文件,但得到的数据不完整或 这与缓冲区大小有关吗?我已经尝试使用静态大小而不是ContentLength。敬请指教。