shell重定向命令执行顺序
2017-06-06 15:46
295 查看
重定向内容介绍
一条shell命令的执行包含三个文件描述符:标准输入(键盘等) stdin 0,标准正确输出(屏幕等) stdout 1,标准错误输出(屏幕等)stderr 2通过重定向可以指定输入的文件内容和输出到的位置
符号 | 说明 |
< file | 输入重定向,将<后的file文件内容作为command执行前的输入 |
> file 或1>file | 输出重定向,将标准正确输出覆盖到后面的file文件内 |
>> file或1>>file | 输出重定向,将标准正确输出追加到后面的file文件内 |
2>file | 输出重定向,将标准错误输出覆盖到后面的file文件内 |
2>>file | 输出重定向,将标准错误输出追加到后面的file文件内 |
&>file 或 >file 2>&1 | 输出重定向,将标准正确输出和标准错误输出覆盖到后面的file文件内 |
&>>file 或 >>file 2>&1 | 输出重定向,将标准正确输出和标准错误输出追加到后面的file文件内 |
重定向执行顺序
shell会按照;等分隔符将一串命令分成多个命令,替换命令中的变量后执行单条命令shell单条命令,重定向部分的执行顺序:先<,然后command,最后<和<<
第一步:先读取<后的内容做为输入,如果一条命令有多个<,会读取最后一个<后的内容
<放在命令前后都可以,例如【< /etc/hosts cat】相当于【cat /etc/hosts】
第二步:执行command命令
第三步:如果有>或>>会将结果进行重定向,如果输出重定向多个文件,只会将内容重定向到最后一个文件
例如 cat /etc/hosts > test1.txt >test2.txt
只有test2.txt会出现内容,test1.txt内容是空的
输出重定向>和>>的位置放在哪里都可以,例如【> test.txt cat /etc/hosts】,表示将/etc/hosts的内容输入到test.txt中
参考文档:
shell输入输出重定向参考文章
http://blog.csdn.net/wangfei8348/article/details/47818171
shell命令执行顺序参考文章
http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html
http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html
相关文章推荐
- shell基础-输入输出以及重定向/多命令顺序执行与管道符/通配符与特殊符号
- java执行带重定向或管道的shell命令的问题
- shell命令执行顺序的控制
- [Shell]Bash基本功能:多命令顺序执行与管道符
- 【shell】多命令执行顺序
- 输出重定向和多命令顺序执行(记录日志)
- linux-shell-||,&&{},(),reg-命令执行顺序
- linux下shell中执行命令的顺序问题
- shell脚本中顺序执行另几条shell命令
- Shell基础-Bash基本功能-多命令顺序执行与管道符
- Shell笔记第五天 命令执行顺序
- shell命令执行顺序
- Shell 命令执行顺序分析[图]
- shell命令执行顺序
- 命令执行顺序-------shell学习(5)
- shell命令执行的顺序
- shell命令的执行顺序问题·拓扑排序的扩展
- shell命令执行顺序
- shell命令执行顺序
- Java执行带重定向或管道的shell命令的问题