欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-30 19:29:42
为了避免在开发服务器使用ftp上传代码文件,导致文件不一致问题的现象。今天做一个从版本库中自动同步文件到开发服务器的脚本,同时可以规范版本库的使用。 简单编写了一下脚本,通过ssh登陆在命令...

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

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

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

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

>/dev/null

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

2 > &1

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

有3个默认的i/o,

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

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

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