在 shell 命令中,特别是设置 crontab 时,经常会看到类似下面的记录:

* * * * * some_command >> /dev/null 2>&1

几个基本符号及其含义

  • /dev/null 表示空设备文件
  • 0 表示stdin标准输入
  • 1 表示stdout标准输出
  • 2 表示stderr标准错误

前 5 个星号是计划任务的时间设置,some_command >> /dev/null 为执行命令并将命令结果输出到 /dev/null 空设备,即不显示任何内容。

最后的 2>&12 对应上面介绍的 stderr 标准错误,也就是要将命令执行产生的错误信息输出到 &1,带了一个 & 符号,它实际上代表的是 stdout,即打印错误信息到标准输出。