SHELL文件描述符,类2>&1使用
来源:互联网 发布:数据库事务日志已满 编辑:程序博客网 时间:2024/05/29 09:06
2>&1使用
一 相关知识
1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |)。
2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes `)。
3) 默认地,标准的错误输出到终端,但是也可以重定向到文件。
4)标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示。
5)其实除了以上常用的3中文件描述符,还有3~9也可以作为文件描述符。3~9你可以认为是执行某个地方的文件描述符,常被用来作为临时的中间描述符。
二 实例
1)command 2>errfile : command的错误重定向到文件errfile。
2)command 2>&1 | ...:command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。
3)var=`command 2>&1`:command的错误重定向到标准输出,错误和标准输出都赋值给var。
4)command 3>&2 2>&1 1>&3 |...:实现标准输出和错误输出的交换。
5)var=`command 3>&2 2>&11>&3`:实现标准输出和错误输出的交换。
6)command 2>&1 1>&2 |...
三 "2>&1 file"和 "> file 2>&1"区别
1)cat food 2>&1 >file :错误输出到终端,标准输出被重定向到文件file。
2)cat food >file 2>&1:标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以也错误输出到文件file。
四 注意
通 常打开的文件在进程推出的时候自动的关闭,但是更好的办法是当你使用完以后立即关闭。用m<&-来关闭输入文件描述符m,用m>&-来关闭输出文件描述符m。如果你需要关闭标准输入用<&-; >&-被用来关闭标准输出。
五 同时输出到终端和文件 copy source dest | tee.exe copyerror.txt
六 参考
1)http://docstore.mik.ua/orelly/unix/upt/ch45_21.htm
2)http://www.unix.com/shell-programming-scripting/34011-meaning-dev-null-2-1-a.html
3)http://docstore.mik.ua/orelly/unix/upt/ch08_13.htm
作者:iTech
出处:http://itech.cnblogs.com/
- SHELL文件描述符,类2>&1使用
- 2>&1使用
- linux shell中"2>&1"含义简析
- linux shell 中"2>&1"含义
- > /dev/null 2>&1含义
- command>/dev/null 2>&1
- >/dev/null 2>&1的含义
- /dev/null 2>&1 解释
- shell 文件描述符
- Shell 文件描述符
- [转]再谈shell之“>/dev/null 2>&…
- [转]再谈shell之“>/dev/null 2>&…
- 关于>&2、2>&1等重定向
- 关于>&2、2>&1等重定向的解释[转载…
- [Shell]文件描述符示例
- python-&gt;FTP上传下载文件
- (转) nohup /dev/null 2>&1
- 2>&1 的解释,清晰易懂
- 实现PHP多线程异步请求的3种方法
- mysql存储过程是使用--变量传参动…
- web性能测试工具-http_load
- Linux下四款Web服务器压力测试工具…
- 开发思路:php中不使用临时变量来…
- SHELL文件描述符,类2>&1使用
- MAVEN常用命令
- Java ArrayList的实现原理详解
- Shell多线程操作及线程数控制实例
- mysql 批量更新与批量更新多…
- linux awk命令详解--很不错
- Ruby--Kernel#caller方法
- Spring MVC之@RequestBody, @ResponseBody 详解
- PHP 二维数组根据某个字段排序