程序本身:要有输入输出的功能,(Fd:文件描述符)任意程序都要有自己输入输出的fd,用于实现io功能
Stdout标准输出(fd1)stdin标准输入(fd0)stderr标准错误(fd2)
将其默认数据流改为其他数据流,即为io重定向
输出重定向:> >|(set -C) 1> 2> &> >> 2>> &>>
/dev/null:数据黑洞,吞掉一切数据不作任何保留
Here Document多数用于脚本中创建文档/输出菜单
例(1):cat >abc<<eof
123
345
eof
例(2):cat <<eof
123
345
eof
管道要点:最后一个命令是当前子shell中执行的。
Tee [–a]
自定义输出重定向:可以用(3-9)的数字
exec :
exec 3> /tmp/myout.out (也可以用追加">>"或者读入"<" )
则将3定向为了 myout.out 其实是覆盖为了这个文件
之后
ls /var >&3 (必须用>& 符号)
则会将显示结果覆盖至自定义的一个输出重定向 3中
在多次重定向的场景里,避免多次的反复重定向的那个文件而导致的频繁打开和关闭。
撤销:
exec 3>&-
这样就关闭了此文件
转载于:https://blog.51cto.com/ufirst/1432578