exec控制 文件操作符

    技术2025-12-20  8

    exec是shell的一个built-in command,一般用来execute某个command,然后退出该command,注意这里不是fork一个子shell,然后用该子shell来执行command,而是在当前shell上直接执行该command,所以command退出后,该shell也就结束了。

    exec的另外一个功能是打开和关闭文件描述符,文件符range是0-9.

    因为0是标准输入,1是标准输出,2是标准错误,所以没有特别缘由,我们使用3-9.

    举例:

    exec 3</tmp/1.txt以只读方式文件打开/tmp/1.txt文件,文件描述符对应为3 exec 3>/tmp/1.txt以写方式打开/tmp/1.txt,文件描述符对应为3 exec 3<>/tmp/1.txt以读写方式打开/tmp/1.txt,文件描述符对应为3 exec 3<&-关闭文件描述符3

    附录:常用文件重定向命令

    command > filename                          把标准输出重定向到一个新文件中command >> filename                        把标准输出重定向到一个文件中(追加)command 1 > fielname                       把标准输出重定向到一个文件中command > filename 2>&1                  把标准输出和标准错误一起重定向到一个文件中command 2 > filename                       把标准错误重定向到一个文件中command 2 >> filename                     把标准输出重定向到一个文件中(追加)command >> filename 2>&1                把标准输出和标准错误一起重定向到一个文件中(追加)command < filename >filename2          把command命令以filename文件作为标准输入,以filename2文件作为标准输出command < filename                         把command命令以filename文件作为标准输入command << delimiter                       把从标准输入中读入,直至遇到delimiter分界符command <&m                                 把文件描述符m作为标准输入command >&m                                 把标准输出重定向到文件描述符m中command &m<&-                              关闭文件描述符m

    最新回复(0)