shell 命令中的 2>&1
在 shell 命令中,特别是设置 crontab 时,经常会看到类似下面的记录:
* * * * * some_command >> /dev/null 2>&1
几个基本符号及其含义
- /dev/null 表示空设备文件
- 0 表示stdin标准输入
- 1 表示stdout标准输出
- 2 表示stderr标准错误
前 5 个星号是计划任务的时间设置,some_command >> /dev/null
为执行命令并将命令结果输出到 /dev/null
空设备,即不显示任何内容。
最后的 2>&1
,2
对应上面介绍的 stderr
标准错误,也就是要将命令执行产生的错误信息输出到 &1
,带了一个 &
符号,它实际上代表的是 stdout
,即打印错误信息到标准输出。