我在/etc/init.d/jetty
中有语法#!/usr/bin/env bash
...
java -jar start.jar jetty.port=80 1<&- &
您能否解释一下命令末尾的重定向?
(顺便说一下,我的Jetty服务器在大约一天内停止响应URL请求。我可以看到它仍在执行WAR文件,因为它有一个每5分钟运行一次的作业,但是Web服务器没有响应URL据我所知,使用Chrome开发者工具可以告诉我。所以我试图看看Jetty的日志)
答案 0 :(得分:5)
这实际上是两个单独的命令。第一:
1<&-
这会从bash man page:
关闭标准输出重定向运算符
[N]&LT;&安培;字
用于复制输入文件描述符。如果单词扩展为一个或 更多的数字,由n表示的文件描述符被作为的副本 那个文件描述符。如果单词中的数字未指定文件 描述符打开输入,发生重定向错误。如果说 评估为' - ',文件描述符n关闭。如果未指定n, 使用标准输入(文件描述符0)。
第二个&符号不是重定向,它是一个作业控制命令,它告诉shell在后台运行整个java
命令。