/dev/null文件使用
来源:互联网 发布:linux下的c ide 编辑:程序博客网 时间:2024/05/21 23:32
今天读到这样一行代码
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,所以不会显示任何内容。
ls 1>/dev/null 2>&1
上面这条语句已经很接近我一开始看到的那条语句了。这句话的意思是将ls的标准输出结果重定向到/dev/null
2>&1表示将标准错误错误等同于标准输出,而标准输出被我们重定向到了/dev/null,所以标准错误输出也重定向到了/dev/null
2. 何时需要使用/dev/null
当我们需要命令的退出状态而非命令的输出时,我们经常采用cmd 1>/dev/null 2>&1的写法,然后通过$?来判断返回值。
grep命令的返回值
EXIT STATUS 0 if selected lines are found, 1 if not found. 2.if an error occurred(Note: POSIX error handling code should check for '2' or greater.)ls命令的返回值
Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
0 0
- /dev/null文件使用
- 使用/dev/null
- 使用/dev/null
- linux文件目录切换及/dev/null的使用方式
- /dev/null 于 /dev/zero文件
- 特殊文件:/dev/null与/dev/tty
- 特殊文件:/dev/null与/dev/tty
- Linux - 文件 /dev/null 和 /dev/zero
- 特殊文件:/dev/null和/dev/tty
- 关于Linux下的/dev/null和/dev/zero文件
- 特殊设备文件 /dev/null 和 /dev/zero
- 关于Linux下的/dev/null和/dev/zero文件
- 两个特殊设备文件dev/zero dev/null
- /dev/null 和/dev/zero 设备文件说明 (
- shell中的特殊文件:/dev/null与/dev/tty
- Unix 系统的特殊文件 /dev/null 与 /dev/tty
- Linux下两个特殊文件/dev/null 和 /dev/zero
- /dev/null
- 如何正确的理解和解决 ORA-01843:not a valid month
- .net怎么给控件添加样式
- Inside Microsoft.NET IL Assembler中的Forward Declaration问题
- IOS Sent Events 事件
- java中如何知道一个字符串中有多少个字,把每个字打印出来,举例
- /dev/null文件使用
- VC++中的char,wchar_t,TCHAR
- SQL Cookbook—查询、排序
- bash: ./configure: 权限不够
- 最小生成树(算法导论第23章)
- mysql 存储过程游标学习
- Maven属性
- linux 等待队列
- Cannot create a server using the selected type