if ($?)是什么意思
时间: 2023-02-07 07:13:09 浏览: 68
$? 是一个特殊的 shell 变量,它保存了上一个命令的退出状态。退出状态是一个数字,0 表示命令执行成功,非 0 值表示命令执行失败。如果在一个 shell 脚本中使用 if ($?) 就意味着,如果上一个命令执行成功,就执行 if 语句块中的代码。
相关问题
循环中$?是什么意思
在 Bash 循环中,`$?` 表示上一条命令的执行结果。具体来说,当上一条命令执行成功时,`$?` 的值会被设置为 0,否则会被设置为非 0 的错误代码。在循环中使用 `$?` 可以判断上一条命令是否执行成功,从而决定是否继续执行下一次循环。
例如,下面的代码使用 while 循环执行一个命令,如果命令执行成功,则继续循环,否则跳出循环:
```
while true
do
command
if [ $? -ne 0 ]
then
break
fi
done
```
其中,`command` 是需要执行的命令,`$? -ne 0` 表示上一条命令执行失败时跳出循环。
脚本中$?表示的意思
$? 是一个特殊变量,表示上一个命令执行的返回值(即退出状态码)。如果命令执行成功,$? 的值为 0,否则为非零值。在脚本中,可以通过检查 $? 的值来确定上一个命令是否执行成功。例如,可以使用以下方式检查上一个命令是否执行成功:
```
if [ $? -eq 0 ]; then
echo "Command succeeded."
else
echo "Command failed."
fi
```
该脚本会检查上一个命令的退出状态码,如果为 0,则输出 "Command succeeded.",否则输出 "Command failed."。