我想在使用tar解压缩存档文件时捕获错误代码。
当我用完空间后测试tar的状态时;它会显示成功状态。
if sudo tar -xf $ARTIFACT_DIR/Deployment_$MODEL_RELEASE.tar.gz --directory $TEMP_DIRECTORY
then
echo 'Success Decompressing!'
else
echo 'Failure Decompressing file!'
exit
fi
bash作业在状态为0时继续进行。
答案 0 :(得分:0)
您可以借助$?实现。 (上一个运行命令的退出状态)
让我们以示例为例。
示例1 :(命令成功执行)
# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
# echo $?
0
Example2 :(命令未成功执行或没有输出。)
# cat /etc/passwd | grep boot
# echo $?
1
查找以下经过纠正的脚本。
#!/bin/bash
sudo tar -xf $ARTIFACT_DIR/Deployment_$MODEL_RELEASE.tar.gz --directory $TEMP_DIRECTORY
if [ $? -eq 0 ]
then
echo 'Success Decompressing!'
else
echo 'Failure Decompressing file!'
exit
fi