如何检查shell命令是否正确执行?

时间:2010-09-22 08:58:06

标签: linux unix shell tar

#!/bin/sh
tar=$1
if [ -f $tar ]
then
    tar xvf $tar
else
    exit 1
fi

... <more code>

我需要一个tar确实成功发生的构造,否则就会中止脚本的执行。

tar文件提取可能不会通过,因为

  • tar命令
  • 的一些问题
  • 使用$tar
  • 访问问题

Linux实用程序是否有一些返回值?我该如何在这里使用它们?

2 个答案:

答案 0 :(得分:5)

执行命令后检查$?变量。如果一切正常,则应为0,否则为正。

tar xvf $tar
[ $? -ne 0 ] && exit 1

更多信息here

答案 1 :(得分:3)

tar xvf "$tar" || exit 1

或者这个(如果你想检查文件是否存在)

[ -f "$tar" ] && tar xvf "$tar" || exit 1