'$?'是什么意味着在bash脚本?

问题描述:

可能重复:
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

最近执行的命令的返回值/退出状态。 – 2012-04-05 16:09:32

+1

对不起,重复。 “$?”很难搜索。 – Meekohi 2012-04-05 19:40:12

$? 

是最后误差(或成功)返回:

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

false 
echo $? 
1 

true 
echo $? 
0 

到底出口:

exit $? 

是多余的,因为bash脚本无论如何将退出该状态。引用手册页:

Bash的退出状态是在脚本中执行的最后一个命令的退出状态。

+0

感谢您补充说,退出$?是多余的。 – trueCamelType 2013-06-18 15:27:24