1&& - 是什么意思?

Ray*_*Ray 1 unix bash jetty

我在/etc/init.d/jetty中有语法

#!/usr/bin/env bash

    ...

java -jar start.jar jetty.port=80 1<&- &
Run Code Online (Sandbox Code Playgroud)

你能解释一下命令末尾的重定向吗?

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

Jos*_*lly 5

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

1<&-
Run Code Online (Sandbox Code Playgroud)

这将从bash手册页关闭stdout :

重定向运算符

[N] <&字

用于复制输入文件描述符.如果word扩展为一个或多个数字,则由n表示的文件描述符将成为该文件描述符的副本.如果单词中的数字未指定打开输入的文件描述符,则会发生重定向错误.如果word求值为' - ',则关闭文件描述符n.如果未指定n,则使用标准输入(文件描述符0).

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