在shell中,可以使用特殊变量$?来获得上一个命令的退出状态码。一般情况下,退出状态码为0表示命令执行成功,非0表示命令执行失败。
例如,可以使用以下方式来判断命令是否执行成功:
```shell
command
if [ $? -eq 0 ]; then
echo "Command executed successfully"
else
echo "Command failed"
fi
```
在上述示例中,首先执行了一个命令command,然后通过$?获取该命令的退出状态码,并通过if语句判断状态码值。如果状态码为0,输出"Command executed successfully";如果状态码非0,输出"Command failed"。
另外,也可以直接在if语句中使用命令,无需使用$?来获取状态码,例如:
```shell
if command; then
echo "Command executed successfully"
else
echo "Command failed"
fi
```
在上述示例中,如果命令command执行成功,if语句返回真,输出"Command executed successfully";如果命令执行失败,if语句返回假,输出"Command failed"。