2012-04-05 12 views
14

可能性の重複:
What does “$?” give us exactly in a shell script?

$?はbashスクリプトで何を意味するのでしょうか?以下の例:

#!/bin/bash 
# userlist.sh 

PASSWORD_FILE=/etc/passwd 
n=1   # User number 

for name in $(awk 'BEGIN{FS=":"}{print $1}' < "$PASSWORD_FILE") 

do 
    echo "USER #$n = $name" 
    let "n += 1" 
done 

exit $? 
+1

最後に実行されたコマンドの戻り値/終了ステータス。 –

+1

ああ、重複して申し訳ありません。 "$?"検索するのは難しいです。 – Meekohi

答えて

17
$? 

は、最後のエラー(または成功)であるが返さ:

$? 
1: command not found. 
echo $? 
127 

false 
echo $? 
1 

true 
echo $? 
0 

を最後に終了:bashスクリプトので

exit $? 

は、不必要ですとにかくその状態で終了します。マニュアルページの参照:

バッシュの終了ステータスは、スクリプトで最後に実行されたコマンドの終了ステータスです。

+0

ありがとうございました。余分です。 – trueCamelType

関連する問題