18

重複の可能性:
「$?」とは何ですか? シェルスクリプトで正確に教えてください。

$?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 $?
4

1 に答える 1

21
$?

最後に返されたエラー (または成功) です。

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

false 
echo $?
1

true 
echo $?
0

最後に出口:

exit $?

とにかく、bashスクリプトはそのステータスで終了するため、不要です。マニュアルページを引用:

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

于 2012-04-05T16:15:43.730 に答える