该问题通常是由于在脚本中使用了重定向并同时复制文件描述符,造成了重复的描述符号码,解决方法是使用文件描述符的复制操作符号“&”。
例如,将一个文件描述符复制到另一个文件描述符:
exec 3<&1 # 复制文件描述符 1 到 3 echo "Hello World" >&3 # 输出到描述符 3,也就是标准输出 exec 3>&- # 关闭描述符 3,恢复到原始状态
在进行文件描述符复制操作时,要注意不要重复使用相同的描述符号码,否则会出现“duplication of file descriptors”错误。