我想要捕获使用tar解压Archive时的错误代码。
当我在耗尽空间后测试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
fibash作业将继续执行,因为它发现状态为0。
发布于 2019-05-19 16:30:02
您可以在$?的帮助下实现。(上一个运行命令的退出状态)
让我们举个例子来说明一下。
Example1:(命令执行成功)
# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
# echo $?
0Example2:(命令未成功执行或无输出。)
# 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
fihttps://stackoverflow.com/questions/56164640
复制相似问题