shell中经常能看到的:/dev/null 21
shell中可能经常能看到:>/dev/null 2>&1
/dev/null 代表空设备文件
> 代表重定向到哪里,例如:echo "1111" > /home/a.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
来看看本文标题的语句:
1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端
2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
我们经常会在UNIX系统下的一些脚本中看到类似”2>&1″这样的用法,例如“/path/to/prog 2>&1 > /dev/null &”,那么它的具体含义是什么呢?
UNIX有几种输入输出流,它们分别与几个数字有如下的对应关系:0-标准输入流(stdin),1-标准输出流(stdout),2-标准错误流 (stderr)。”2>&1″的意思就是将stderr重定向至stdout,并一起在屏幕上显示出来。如果不加数字,那么默认的重定向 动作是针对stdout(1)的,比如”ls -l > result”就等价于”ls -l 1 > result”。这样便于我们更普遍性的理解重定向过程。
下面举例说明:
#cat std.sh
#!/bin/sh
echo “stdout”
echo “stderr” >&2
#/bin/sh std.sh 2>&1 > /dev/null
stderr
#/bin/sh std.sh > /dev/null 2>&1
第一条命令的输出结果是stderr,因为stdout和stderr合并后一同重定向到/dev/null,但stderr并未被清除,因此仍将在屏 幕中显示出来;第二条命令无输出,因为当stdout重定向至/dev/null后,stderr又重定向到了stdout,这样stderr也被输出到 了/dev/null。
转载于:https://blog.51cto.com/weimouren/1715973
shell中经常能看到的:/dev/null 21相关推荐
- /dev/null 21 详解
原文出处:http://blog.csdn.net/kaiwii/article/details/7308729 把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所 ...
- linux下详解shell中/dev/null 21
前言 相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>& ...
- linux /dev/null,Shell中 /dev/null和 /dev/null 21
先用简单的语言回答题主的问题: shell程序中 2> /dev/null 代表什么意思? 答:"2> /dev/null" 代表忽略掉错误提示信息. 如题 2> ...
- shell中可能经常能看到:/dev/null 21
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:e ...
- Shell中的/dev/null 21 与 21 /dev/null 与/dev/null 的区别
转自:http://blog.csdn.net/reyleon/article/details/11595985 默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕). ...
- shell之“/dev/null 21”
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:">/dev/null 2>& ...
- Linux Shell 1/dev/null 21 含义
shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件 :代表重定向到哪 ...
- Linux Shell下”/dev/null 21“相关知识说明
0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 & = ...
- Linux:shell脚本命令: /dev/null 21 的理解
1.可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和 ...
最新文章
- 第一次写KMP的体会
- 终端html页面,HTML5的终端适配
- nginx、fastCGI、php-fpm关系梳理(转载参考)
- 一次性配置VS2015属性的方法,新工程无需重新配置
- 今天学习啦所谓的高级语言啦
- 27日直播预告丨Oracle运营商行业生产实践分享
- 一公顷等于多少平方米
- Java中timer的schedule()和schedualAtFixedRate()函数的区别
- python学生信息管理系统
- 在龙芯机器上编译OpenJDK8
- gitlab自定义头像设置
- 在RHEL6上针对rm命令做审计
- 修改Android手机的分辨率和屏幕密度
- STM32—TIMx输出PWM信号驱动MG996R舵机
- Could not resolve placeholder
- 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 阿里云物联网平台 + 微信小程序
- uni-app老年模式字体设置思路
- 常用的第三方SDK介绍(搜集中)
- 秒速五厘米(为情怀而补的题)
- 【作业】第一章课后作业
热门文章
- 《Java技术》第九次作业计科1501赵健宇-IO
- 启动hadoop时报root@localhost's password: localhost: Permission denied, please try again.错误。...
- 微软研发流程(ALM)管理培训会议(比亚迪汽车)
- 《人月神话》阅读笔记--02
- 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV
- Extjs time
- DEDE文章列表加上序号效果
- linux用于查看文件内容 tail、cat、more、less、head 、sed 命令
- Qt-Focus事件处理,重写qpushbutton实现背景切换鼠标样式及eventFilter的用法
- uni-app实现传值路径乱码的问题