2014-02-21 65 views
0

我正在使用'ar'在shell脚本中构建存档文件。我如何检查它是成功还是失败?如何在shell脚本中检查ar的返回值?

+0

快速搜索将产生很多很多的结果,如[此](http://www.cyberciti.biz/faq/例如,shell-how-to-determine-the-exit-status-of-linux-and-unix-command /)。 – vanza

回答

2

man ar

的AR程序返回0表示成功,并且如果发生错误> 0。

换句话说:它表现出标准的行为。

检查的各种方式(ar ...代表特定ar命令):

ar ... || { echo "Failure" 1>&2; exit 1; } 

# --- 

if ! ar ...; then # act on failure 

# --- 

# Note: $? is a special variable containing the *most recently executed* 
#  command's exit code. 
ar ... ; ar_status=$? 
if ((ar_status != 0)); then # act on failure 
+2

明确的答案,但我建议你明确提到$?是保存最后命令结果的shell变量,用于每个命令。 – ChuckCottrill

+1

@ChuckCottrill同意,值得一提的是,'$?'被严重过度使用;最佳实践是在成功/失败的情况下进行分支,而不必在可能的情况下明确存储或检查。 –

+0

谢谢!完美的作品 – Diaz

0

$?用于执行最后一个命令的返回代码。

您不需要任何特定的ar来捕获该信息。