Linux Shell 文件重定向
来源:互联网 发布:执行方案范文知乎 编辑:程序博客网 时间:2024/06/11 05:17
在unix高级环境编程第三章的习题有一个问题:
./a.out > outfile 2>&1 # 1
./a.out 2&1 > outfile # 2
符号'&'只能和重定向符号挨在一起,有'&' 表示后面的数字代表文件描述符,否则为普通文件。
这个首先的说明几点:
1.在unix和类unix(linux之类)中以文件描述符的形式打开一个文件,这个文件描述符是一个非负数。
2.0代表标准输入,1代表标准输出,2代表标准错误输出
3.默认的情况下是1 所以> equal 1>,比如我们用文件描述符5打开了一个文件a,可以写成5>
4.shell命令的执行是从左往右
那么现在来看这两者有什么区别
对于第一条命令,首先是将a.out的内容标准输出,然后通过>(等价于1>,所以只对标准输出起作用)重定向到outfile,然后2>&1说明标准错误输出也往标准输出去,而由于之前标准输出以及重定向到了outfile,所以这里的错误输出也会重定向到outfile。
再看第二条命令,首先是a.out到标准输出,然后2>&1,所以标准错误输出也重定向到标准输出(注意此时的标准输出没有被重定向,所以默认是终端上),然后 > outfile ,这个说明此时再将标准输出到outfile,但是请注意标准错误输出2>不会也跟着被重定向到outfile,因为更改标准输出重定向在2>&1的后面。
0 0
- Linux Shell 文件重定向
- Linux Shell 文件重定向 小觑
- linux shell 编程笔记 - 文件重定向
- shell 文件重定向
- linux Shell重定向
- linux Shell重定向
- linux shell重定向
- linux shell重定向
- Linux shell重定向
- Linux Shell 重定向
- linux shell 重定向
- Linux shell重定向
- linux Shell重定向
- Linux shell 重定向
- Shell中的文件重定向
- linux shell基础1.4--文件描述符和重定向
- Linux下的shell编程(六)--函数,重定向,文件
- Linux shell 输入/输出重定向—/dev/null文件
- php标准库 SPL 迭代器之 ---------ArrayIterator(数组迭代)
- Thinkphp - 缓存的使用 (Memcache)
- mysql的左连接、右连接和内连接
- [LeetCode 62]Unique Paths
- A Bug's Life-HDU-1829
- Linux Shell 文件重定向
- 动态代理(Proxy)
- 可执行文件(ELF)格式的理解
- Add Two Numbers
- 黑马程序员_日记5_Java多态
- 每天一个面向对象陷阱,一个算法,一个小看法
- 可执行程序的组成
- 利用WebSphere Edge Server构建冷轧系统负载均衡
- UVa 806 - Spatial Structures(DFS)