我正在尝试制作一个我严格要控制标准输出的脚本。所以我将所有内容重定向到/ dev / null并打印我自己的消息。
user@root> tar zxvf samplefile.tar;> /dev/null 2>&1 ;echo $?
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors
0
tar命令失败但$?正在存储重定向的退出状态。我想要tar命令的退出状态。
如何获取tar命令的状态还将所有std输出重定向到/ dev / null?
答案 0 :(得分:0)
正如Subbeh和Ploutox所提到的,我不应该使用";"在两个命令之间。删除";" ,重定向成为orignal命令的一部分,并给出了正确的返回码。
但是,如果我们需要退出状态($? - 1),我仍然不确定可以使用什么。