2010年1月17日星期日

2>&1是什么意思?

shell脚本中经常看到这样的写法,2>&1,很诡异,反正我第一次看到是一头雾水。但只要明白了数字的含义,一切问题都迎刃而解。
当运行一个程序时,运行该程序的进程会打开3个文件描述符,分别是:0(标准输入),1(标准输出)和2(标准错误输出)。>是重定向符号。那么 2>&1的含义就是将标准错误输出重定向到标准输出。

经常我们还会有这样的写法
command >/dev/null 2>&1 &
哇,整个世界都清净了。

没有评论: