bash - 检索子 shell stdout 的第一行/最后一行

标签 bash shell subshell

如果我有一个子 shell 命令:

output="$(runfoo)";

有没有办法只将 runfoo 输出的最后一行存储到变量 output 中?或者也许只有第一行?

最佳答案

只有标准输出:

output="$(runfoo | tail -n 1)"

output="$(runfoo | head -n 1)"

标准输出和标准错误:

output="$(runfoo 2>&1 | tail -n 1)"

output="$(runfoo 2>&1 | head -n 1)"

关于bash - 检索子 shell stdout 的第一行/最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49093257/

相关文章:

Bash 脚本 - 如果有条件 [ ]

bash - 改成 。对于目录中的所有文件

linux - 为什么它总是向我显示存在()的错误?

linux - 基于两个条件的嵌套查找

bash - 限制生成的子壳的数量

linux - 如何在 linux 中使用 bash 查找所有 .sh 文件并使它们可执行?

linux - 对许多文件一个一个地应用排序命令

shell - 从丑陋的命令行管道创建整洁的 shell 脚本

bash - 在 Bash IO 重定向中等待 subshel​​l

bash - 后跟条件控制运算符时在子 shell 中忽略 set -e