2014-02-21 117 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來捕獲該信息。