首页 > 解决方案 > bash:验证去皮成功

问题描述

有没有办法在 bash 脚本中验证是否tar -xvf foo.tar -C /destination成功?

我当前的 bash 脚本如下所示:

if [[ tar -xvf foo.tar -C /destination ]]; then
 echo "ok"
else
 echo "not ok"
fi

不幸的是,我收到以下错误:

verify.sh[124]: syntax error: unexpected operator/operand '-xvf'

有没有更好的方法来验证它?为什么我不允许使用-xvf?

标签: bashshellubuntu

解决方案


[[用于评估条件表达式,而不是执行任意命令。([[它本身就是一个命令,尽管在句法上不同于简单命令的所谓复合命令。)

只需放下括号。

if tar -xvf foo.tar -C /destination; then

退出状态为 0 是否tar表明您要验证的成功类型是另一个问题。


推荐阅读