nohup 最后带有

nohup 最后带有
nohup grunt server:debug >grunt.out 2>&1 <&- &

我有一个以 . 结尾的 nohup 命令<&-。这个方向有什么作用?可以用指针解释一下吗?我确实在谷歌上搜索了示例,但找不到一个解释的示例<&-,这真的是必需的吗?

答案1

而是通过手册页进行搜索(man bash是你的朋友)。这样的特殊字符在google上很难找到。基本上你最终会看到这一部分:

复制文件描述符

重定向运算符

[n]<&word

用于复制输入文件描述符。如果word扩展为一位或多位数字,则 表示的文件描述符n将成为该文件描述符的副本。如果 中的数字 word 未指定打开以供输入的文件描述符,则会发生重定向错误。 如果 word 的计算结果为-,则文件描述符n被关闭。如果n未指定,则使用标准输入(文件描述符 0)。

换句话说,<&-,它基本上关闭了stdin,因此运行的程序nohop实际上无法从那里读取任何东西。

答案2

可能这个列表有帮助:

<&(Digit) 从 Digit 参数指定的文件描述符复制标准输入

>&(Digit) 在由 Digit 参数指定的文件描述符中复制标准输出

<&- 关闭标准输入

>&- 关闭标准输出

相关内容