LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义解析,devnull


为了避免在开发服务器使用ftp上传代码文件,导致文件不一致问题的现象。今天做一个从版本库中自动同步文件到开发服务器的脚本,同时可以规范版本库的使用。

简单编写了一下脚本,通过ssh登陆在命令行下运行正常,可是将脚本添加到crontab中就不正常。想记录一下输出信息,分析一下错误原因。

将脚本通过使用 > info.log 重定向输出,结果发现一些在命令行下可以看到的文本信息没有记录到 info.log 文件中,研究了一下,那些输出估计是输出到了标准错误上。

研究了一下通常添加命令后面几个输出含义

>/dev/null

输出到空设备,表示丢掉输出信息。

2 > &1

将输出到标准错误的信息输出到标准输出设备(通常是屏幕)

有3个默认的i/o,

0是标准输入,一般是键盘

1是标准输出,一般是屏幕了

2是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了

相关内容