什么1<& - &意思?

时间:2015-05-16 16:55:36

标签: bash unix jetty

我在/etc/init.d/jetty

中有语法
#!/usr/bin/env bash

    ...

java -jar start.jar jetty.port=80 1<&- &

您能否解释一下命令末尾的重定向?

(顺便说一下,我的Jetty服务器在大约一天内停止响应URL请求。我可以看到它仍在执行WAR文件,因为它有一个每5分钟运行一次的作业,但是Web服务器没有响应URL据我所知,使用Chrome开发者工具可以告诉我。所以我试图看看Jetty的日志)

1 个答案:

答案 0 :(得分:5)

这实际上是两个单独的命令。第一:

1<&-

这会从bash man page

关闭标准输出
  

重定向运算符

     

[N]&LT;&安培;字

     

用于复制输入文件描述符。如果单词扩展为一个或   更多的数字,由n表示的文件描述符被作为的副本   那个文件描述符。如果单词中的数字未指定文件   描述符打开输入,发生重定向错误。如果说   评估为' - ',文件描述符n关闭。如果未指定n,   使用标准输入(文件描述符0)。

第二个&符号不是重定向,它是一个作业控制命令,它告诉shell在后台运行整个java命令。