可能重复:
"$?"在shell脚本中给出了什么?
$?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 $?
Run Code Online (Sandbox Code Playgroud)
use*_*own 20
$?
Run Code Online (Sandbox Code Playgroud)
是返回的最后一个错误(或成功):
$?
1: command not found.
echo $?
127
false
echo $?
1
true
echo $?
0
Run Code Online (Sandbox Code Playgroud)
出口到底:
exit $?
Run Code Online (Sandbox Code Playgroud)
是多余的,因为bash脚本无论如何都将以该状态退出.引用手册页:
Bash的退出状态是脚本中执行的最后一个命令的退出状态.