可以在if语句中使用tar -xvf来返回true或false

JSU*_*JSU 2 unix shell tar

我知道我可能听起来很奇怪,但我想知道我是否可以在某个文件上执行if [tar -xvf],这将返回true或false.

如果tarring成功,我需要写一些文件,如果没有,那么在同一个文件上写入其他东西.

就像是

if[ find . -maxdepth 1 -name "*.tar" -exec tar -xvf {} ] ; then
echo " Untar Successful"> test.txt
else
echo "Untar Not Successful"> test.txt
Run Code Online (Sandbox Code Playgroud)

如果我能做些什么来实现这个,请告诉我

dan*_*iel 8

EXIT STATUS
     The tar utility exits 0 on success, and >0 if an error occurs.
Run Code Online (Sandbox Code Playgroud)

你可以检查错误

if [ $? -ne 0 ]; then
Run Code Online (Sandbox Code Playgroud)

哪里$?是最新的前台管道退出状态.

  • @daniel:你可以简单地写:如果tar ...; 然后 ...; fi没有必要使用[(或测试)和引用$? (2认同)