linux命令返回的参数
linux命令返回的参数详细介绍
在 Linux 中,命令执行后的 “返回参数” 通常包括 退出状态码、标准输出(stdout) 和 标准错误输出(stderr),以下是详细说明:
一、退出状态码(Exit Status)
1. 含义
- 每个命令执行后都会返回一个 0-255 的整数值,表示命令的执行结果。
- 0:表示命令成功执行。
- 非 0(通常为 1-255):表示命令执行失败,不同数值代表不同错误类型(具体含义因命令而异)。
2. 获取方法
- 使用
$?变量获取上一条命令的退出状态码:bash
3. 常见退出码示例
0:成功(如ls /tmp正常执行)。1:通用错误(如命令不存在、参数错误)。2:shell 内置命令错误(如cd命令参数错误)。126:命令不可执行(如文件无执行权限)。127:命令未找到(如错误的命令名)。130:命令被 Ctrl+C 中断。
二、标准输出(stdout)和标准错误输出(stderr)
1. 含义
- 标准输出(stdout,文件描述符 1):命令的正常输出内容(如
echo "hello"的结果)。 - 标准错误输出(stderr,文件描述符 2):命令的错误信息(如
ls non_exist_file的报错)。
2. 捕获方法
- 直接查看:默认输出到终端。
- 重定向到文件:bash
output.txt> error.txt
all.txt
- 通过管道传递:bash
>
三、命令执行结果的处理(脚本中常用)
1. 根据退出状态码判断逻辑
bash
"
2. 捕获输出到变量
bash
>
四、特殊情况
- 后台命令:使用
&运行的命令,需通过wait命令获取退出状态码:bash - 自定义退出码:脚本中可通过
exit N指定退出码(N 为 0-255)。
总结
Linux 命令的 “返回参数” 主要包括:
- 退出状态码(
$?):用于判断命令是否成功。 - 标准输出(stdout):正常输出内容,可通过重定向或管道处理。
- 标准错误输出(stderr):错误信息,需单独处理(如重定向到文件)。
根据具体需求(如脚本自动化、错误排查),选择合适的方式获取和处理这些 “返回参数”。如需了解某命令的具体退出码含义,可查看其手册(man command)。