shell脚本中$?
时间: 2023-07-07 13:20:00 浏览: 121
在Shell脚本中,$?是一个特殊的变量,用于获取上一条命令的返回值(也称为退出状态或退出码)。当执行完一条命令后,Shell会将该命令的退出状态保存在$?变量中,以供后续使用。通常,退出状态为0表示命令执行成功,非0值则表示命令执行失败或出现错误。
例如,假设我们在Shell脚本中执行了一个命令:
```
ls /usr/bin
```
执行完这条命令后,Shell会将其退出状态保存在$?中。如果命令执行成功,则$?的值为0,如果出现错误,则$?的值为非0。我们可以使用echo命令输出$?的值,以判断命令是否执行成功。例如:
```
ls /usr/bin
if [ $? -eq 0 ]
then
echo "ls command executed successfully."
else
echo "ls command failed."
fi
```
上面的代码会在执行完ls命令后,判断$?的值是否为0,如果是,则输出"ls command executed successfully.",否则输出"ls command failed."。这样就可以在Shell脚本中根据命令的返回值来进行相应的处理。
阅读全文