我在 shell 脚本中有以下内容
fulloutput="<pre>$(df -h /;sudo shutdown -r +1 )</pre>"
稍后在脚本中,我回显此变量(它通过管道传输到 sendmail,但这与此处无关),但我只获得 df 命令的输出,而不是关闭。
我尝试过不使用sudo
,也尝试过将命令分开,如下所示......
fulloutput="<pre>$(df -h /) $(sudo shutdown -r +1 )</pre>"
但仍然只能获取命令的输出df
。
这不是一个大问题,但如果能够得到输出shutdown
作为脚本的该部分已成功执行的指示器,那就太好了。
答案1
您的命令替换捕获stdout
;关闭消息可能被写入stderr
。
要重定向stderr
到stdout
以便也捕获它,请添加2>&1
ie
$(df -h /; sudo shutdown -r +1 2>&1)