Shell:标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr)介绍
UNIX系统shell使用
1.文件描述符0与进程的标准输入(一般是键盘)相关联;
2.文件描述符1与标准输出(一般是显示器)相关联;
3.文件描述符2与标准出错输出(一般是显示器)相关联
1、输出
输出到 标准错误 stderr
echo “errormsg” > &2
输出到 标准输出 stdout
echo “infomsg” > &1
2、/dev/null
可以将/dev/null看作”黑洞”. 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到
1>/dev/null 2>&1
代表重定向到哪里,例如:echo “123” > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以”>/dev/null”等同于”1>/dev/null”
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
命令 | 标准输出 | 标准错误 |
>/dev/null 2>&1 | 丢弃 | 丢弃 |
2>&1 >/dev/null | 丢弃 | 屏幕 |
1>/dev/null | 丢弃 | 屏幕 |
2>/dev/null | 屏幕 | 丢弃 |
参考文档
shell中标准输出,标准输入,标准错误输出详解 - 逐风浪子 - 博客园
shell 中 标准输出和错误输出 - 三木燕 - 博客园
还没有评论,来说两句吧...