LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义解析
程序员文章站
2022-11-02 09:10:03
为了避免在开发服务器使用ftp上传代码文件,导致文件不一致问题的现象。今天做一个从版本库中自动同步文件到开发服务器的脚本,同时可以规范版本库的使用。
简单编写了一下脚本,通过ssh登陆在命令...
为了避免在开发服务器使用ftp上传代码文件,导致文件不一致问题的现象。今天做一个从版本库中自动同步文件到开发服务器的脚本,同时可以规范版本库的使用。
简单编写了一下脚本,通过ssh登陆在命令行下运行正常,可是将脚本添加到crontab中就不正常。想记录一下输出信息,分析一下错误原因。
将脚本通过使用 > info.log 重定向输出,结果发现一些在命令行下可以看到的文本信息没有记录到 info.log 文件中,研究了一下,那些输出估计是输出到了标准错误上。
研究了一下通常添加命令后面几个输出含义
>/dev/null
输出到空设备,表示丢掉输出信息。
2 > &1
将输出到标准错误的信息输出到标准输出设备(通常是屏幕)
有3个默认的i/o,
0是标准输入,一般是键盘
1是标准输出,一般是屏幕了
2是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了