在 Linux 上,通过命令行执行命令时,命令的退出状态码(exit status)存储在特殊的环境变量 `$?` 中。退出状态码为 0 表示命令成功执行,非 0 表示命令执行失败。 如果你希望在执行命令后查看其退出状态码,可以使用如下方法: 1. **执行命令**: ``` your_command_here ``` 2. **查看退出状态码**: ``` echo $? ``` 例如: ``` ls /some/directory echo $? ``` 如果目录存在且命令成功,`echo $?` 将输出 `0`。如果目录不存在或发生错误,`echo $?` 将输出一个非零值,例如 `2`。 ### 示例 假设你运行以下命令来列出一个不存在的目录: ``` ls /nonexistent_directory ``` 然后你可以查看退出状态码: ``` echo $? ``` 假设目录 `/nonexistent_directory` 不存在,`ls` 命令将失败,`echo $?` 输出: ``` 2 ``` 这表明 `ls` 命令未成功执行。 ### 常见的退出状态码 - `0`:命令成功执行。 - `1`:一般性错误,例如权限问题。 - `2`:误用命令内建功能。 - `127`:命令未找到。 ### 示例脚本 你可以将这些命令放入一个脚本中,以便更方便地查看退出状态码: ``` #!/bin/bash your_command_here status=$? if [ $status -eq 0 ]; then echo "Command succeeded" else echo "Command failed with exit status $status" fi ``` 这个脚本首先执行 `your_command_here`,然后存储退出状态码,并根据状态码输出相应的消息。 ### 总结 通过使用 `$?` 变量,你可以轻松地获取上一个命令的退出状态码,并根据该状态码执行相应的操作。这在编写脚本时特别有用,可以帮助你处理错误情况并进行调试。