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

Posted on 2017-12-22 15:30:00

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的文件了