全球旧事资料 分类
在对文件描述符进行操作的时候,使用这一命令时任何现有环境都将会被清除,。exec在对文件描述符进行操作的时候,也只有,。在这时,环境。在这时,exec不会覆盖你当前的shell环境。
2、基本IO、cmdfile把stdout重定向到file文件中cmdfile把stdout重定向到file文件中追加文件中追加追加cmd1fiel把stdout重定向到file文件中cmdfile21把stdout和stderr一起重定向到file文件中cmd2file把stderr重定向到file文件中
fcmd2file把stderr重定向到file文件中追加文件中追加追加cmdfile21把stderr和stderr一起重定向到file文件中追加文件中追加追加cmdfilefile2cmd命令以file文件作为stdi
,以file2文件作为stdout,catfile以读写的方式打开filecmdfilecmd命令以file文件作为stdi
cmddelimiterHeredocume
t,从stdi
中读入,直至遇到delimiter分界符中读入,,
3、进阶IO、
使用系统调用dup2复制文件描述符
并把结果用作标准输出
标准输入复制自文件描述符
关闭标准输入(键盘)关闭标准输入(键盘)关闭标准输出
表示将
号输入关闭
表示将
号输出关闭上述所有形式都可以前导一个数字,上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的0或形式都可以前导一个数字1。如:。2file运行一个命令并把错误输出文件描述符2定向到file。运行一个命令并把错误输出文件描述符定向到。21运行一个命令并把它的标准输出和输出合并。严格的说是通过复制文件描述符1来建运行一个命令并把它的标准输出和输出合并。严格的说是通过复制文件描述符但效果通常是合并了两个流。立文件描述符2,但效果通常是合并了两个流。我们对21详细说明一下:21也就是FD2=FD1,这里并不是说FD2的值等于FD1=的值,因为是改变送出的数据信道,是改变送出的数据信道,数据输出通道”的值,也就是说把FD2的“数据输出通道改为FD1的“数数据输出通道数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,据输出通道。如果仅仅这样,这个改变好像没有什么作用,因为FD2的默认输出和FD1的默认输出本来都是mo
itor,一样的!,一样的!但是,是其他文件,这个就具有特殊的用途了。但是,当FD1是其他文件,甚至是其他FD时,这个就具有特殊的用途了。请大家务必理解这一点。这一点。exec0exec1outfile
ame打开文件outfile
ame作为stdoutexec2errfile
ame打开文件errfile
ame作为stderrexec0r
好听全球资料 返回顶部