能使用exec命令将任何文件和文件描述符关联。当需要把输出或输入重定向到一个文件中很多次,而又不愿意重复输入文件名很多次时,把文件和文件描述符关联是很有用的。
要打开文件进行写操作,使用下面的形式:
exec n>file
exec n>>file
要打开一个文件来读,采用如下形式:
exec n<file
也能使用普通的输出重定向格式来重定向一个文件描述符的输出到另一个文件描述符:
n>&m
n 和 m都是文件描述符(整数)。
输出重定向的普通格式经常和exec命令结合来复制一个已经打开的输出文件描述符:
exec n>&m
在这里,n是一个新文件描述符,而m是一个已经打开的输出文件描述符。
例如,如果文件描述符4被打开:
exec 4>out.txt
接着的命令:
exec 5>&4
会导致文件描述符5成为文件描述符4的复制品,下列命令的输出:
date 1>&5
将在文件out.txt里结束。
输入重定向的通用格式和输出重定向的通用格式相似:
n <& m
在这里,n是一个新文件描述符,而m是一个已经打开的输出文件描述符。
下面的语法能被用来关闭一个打开的文件描述符:
exec n>-
在这里,n是一个打开的文件描述符