shell脚本中的"2< " ">&2" "&>"
2023-03-14 10:25:26 时间
shell脚本中的"2< " ">&2" "&>"
linux标准文件描述符:
文件描述符 | 缩写 | 描述 |
0 | STDIN | 标准输入 |
1 | STDOUT | 标准输出 |
2 | STDERR | 标准错误 |
标准输入和标准输出指的就是键盘和显示器。
当文件描述符(0,1,2)与重定向符号(<)组合之后,就可以重新定向输入,输出,及错误。
- command 2>file1
- 命令执行的错误信息保存到了file1文件中。显示屏只是显示正确的信息。
- command 1>file1 2>file2
- 命令执行后,没有显示。因为正确输出到file1,错误定向到file2
- command &>file1
- 命令执行后,输出和错误都定向到file1中
在shell脚本中,可以定义“错误”输出到STDERR指定的文件.需要在重定向符和文件描述符之间加一个and符(&)
- cat test
- #!/bin/bash
- echo " this is ERROR " >&2
- echo "this is output"
- $
运行脚本
- [root@localhost ~]# ./test 2>file1
- this is output
- [root@localhost ~]# cat file1
- this is ERROR
可以再脚本中使用exec命令:
- exec 1>file1
- exec 2>file2
- echo " this is ERROR " >&2
- echo "this is output"
运行如上脚本,则输出都在file1和file2中。
也可以使用exec 0<file1,从文件1中读取输入。
原文发布时间:2014-07-25
本文来自云栖合作伙伴“linux中国”
相关文章
- 防抖节流
- git config 配置提交人信息(用户名和邮箱)
- 盒子模型
- 【springboot2.x】实现文件下载
- Celemony Melodyne 5 Studio for mac(音频处理软件)v5.3.1.018激活版
- NTP服务升级
- 小程序跨页面函数调用
- Hadoop中nameNode与dataNode关系是什么?他们是如何协作的
- 乐观锁&悲观锁&自旋锁
- github作为图床的使用方式
- 【第二弹】github作为图床的使用方式
- golang如何发送邮件(qq邮箱)
- 把el-element的日期格式改为CRON
- [Vue warn]: Invalid handler for event "click": got undefined
- 开源单点登录MaxKey和JumpServer 堡垒机单点登录集成指南
- 一看便会微信后台服务器开发
- 你会高效写http服务器吗?Gin实战演练
- 看看你是程序员还是码农?
- 漫画|项目上线各部门准备!!
- Go ORM 干啥的?