今天读到这样一行代码
echo $1 | grep -E $ip_re >/dev/null 2>&1
愣了半天。然后查了一下弄明白了,写个笔记记录一下。
1 /dev/null用法
这是Unix的一个特殊文件,相当于回收站,一切抛入/dev/null的数据都将被忽略。
上面这行代码的1 -->表示标准输出 2-->表示标准错误输出
下面举几个例子来说明/dev/null与标准输出以及标准错误输出结合使用的例子。
首先随便cd到一个你喜欢的目录键入ls 很显然会显示出此目录下的所有文件以及子目录
然后键入
ls 1>/dev/null
这里我们使用了一个重定向操作符,将ls的内容重定向到了/dev/null中,可以看到终端也就是标准输出什么也没有输出。这里的1表示将ls的原本输出到标准输出的内容重定向至/dev/null。
ls 2>/dev/null
因此上面这条语句就很好理解了,将ls的原来输出的标准错误输出的内容重定向至/dev/null.所以当键入上面的命令时显示的内容与键入ls是一样的,因为没有错误产生。
ls /a 2>/dev/null
/a这个目录在我执行ls命令的目录下是没有的,因此执行ls会报一个/a不存在的错,但是我将本来应该输出的标准错误输出的内容给了/dev/null,所以不会显示任何内容。