在我的脚本中切换用户时,我试图将命令输出变为变量:
checkOutput="$(echo command1 | su - user1)"
但在变量上使用echo
并不会返回所需的结果:
echo $checkOutput
输出:
Oracle Corporation SunOS ... January 2005 logout
所需输出(存储在变量中):
Java version ...
Apache Qpid is RUNNING with PID=5227
在终端中运行命令echo command1 | su - user1
时,输出为:
Oracle Corporation SunOS ... January 2005
Java version ...
Apache QPID is RUNNING with PID=5227
logout
我知道当调用su - user1
时,脚本会退出当前范围。有没有办法存储命令的输出?或者使用bash是不可能的。
由于
答案 0 :(得分:0)
使用script
命令记录文件中的输出。所以它看起来像这样:
script -c '$(echo command1 | su - user1)' -f file.txt
然后,您可以引用此文件以从中获取所需的输出。