首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash:如何将一组命令的输出存储在两个变量中,err,在执行时按准确的顺序组合?

在Bash中,可以使用管道(|)将一组命令的输出传递给另一个命令,然后使用命令替换将输出存储在变量中。要将输出存储在两个变量中,可以使用以下方法:

代码语言:bash
复制
# 执行一组命令,并将输出存储在变量中
output=$(command1 | command2)

在上面的命令中,command1command2是要执行的命令。command1的输出将作为输入传递给command2,然后将command2的输出存储在output变量中。

如果要将输出存储在两个变量中,可以使用以下方法:

代码语言:bash
复制
# 执行一组命令,并将输出存储在两个变量中
output=$(command1 | tee >(command2) >(command3) >/dev/null)

在上面的命令中,command1的输出通过管道传递给tee命令。tee命令将输出复制到两个子进程中,分别执行command2command3>/dev/null部分将tee命令的输出重定向到空设备,以避免在终端上显示。

这样,command2的输出将存储在output变量中,command3的输出将存储在另一个变量中。

需要注意的是,上述方法中的命令可以根据实际需求进行替换。另外,对于变量的命名,可以根据具体情况进行命名,例如output1output2

对于错误处理,可以使用2>将错误输出重定向到文件中,然后将文件内容存储在另一个变量中。以下是示例:

代码语言:bash
复制
# 执行一组命令,并将输出和错误分别存储在两个变量中
output=$(command1 | tee >(command2) >(command3) >/dev/null)
error=$(command4 2> error.log)

在上面的命令中,command4的错误输出被重定向到error.log文件中,然后将文件内容存储在error变量中。

希望这个回答能够满足你的需求。如果你需要更多关于Bash或其他云计算领域的问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券