Linux 2>&1 >&- 这种的含义

是IO重定向 关闭标准输入和错误输出

>&n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出;
<&n 标准输入复制自文件描述符 n;
<&- 关闭标准输入(键盘);
>&- 关闭标准输出;
n<&- 表示将 n 号输入关闭;
n>&- 表示将 n 号输出关闭;

exec 1>outfilename  # 打开文件outfilename作为stdout。
exec 2>errfilename  # 打开文件errfilename作为 stderr。
exec 0<&- # 关闭 标准输入。
exec 1>&- # 关闭 标准输出。

exec 2>&- # 关闭 错误输出。


文件描述符前必须有个 &, 否则2>1就变成 标准错误输出 到 一个名为 1的文件了

posted @ 2017-12-22 15:29  爱知菜  阅读(57)  评论(0编辑  收藏  举报