Java JAR文件不在Ubuntu 14.04的启动脚本中执行

Java JAR文件不在Ubuntu 14.04的启动脚本中执行,java,bash,Java,Bash,以下过程通常适用于我的启动脚本。但是,当我引入一个命令来执行JAR文件时,它不起作用。此脚本在我登录时工作。但是,它不能作为启动脚本使用 在/etc/init.d中,我创建了一个包含以下内容的bash脚本test.sh: #!/bin/bash pw=$(curl http://169.254.169.254/latest/meta-data/instance-id) pwh=$(/usr/bin/java -jar PWH.jar $pw &) echo $pwh > t

以下过程通常适用于我的启动脚本。但是,当我引入一个命令来执行JAR文件时,它不起作用。此脚本在我登录时工作。但是,它不能作为启动脚本使用

在/etc/init.d中,我创建了一个包含以下内容的bash脚本test.sh:

#!/bin/bash

pw=$(curl http://169.254.169.254/latest/meta-data/instance-id)

pwh=$(/usr/bin/java -jar PWH.jar $pw &) 

echo $pwh > test.txt
使脚本可执行

在/etc/rc.local中,我添加了以下行:

sh /etc/init.d/test.sh
注:

我引用了/etc/rc.local中的脚本,因为该脚本需要在所有服务启动后最后运行

请不要要求我更改流程,即在/etc/init.d/中创建脚本并从/etc/rc.local引用它,因为它适用于我的其他启动脚本

我曾尝试在java命令前面添加nohup,但仍然不起作用


谢谢

如前所述,没有足够的信息说明出了什么问题。有太多的可能性要列举


尝试在交互式shell中一次运行一个命令。java命令可能正在将某些内容写入标准错误,这将为您提供一些线索。

该脚本在交互式shell中运行良好。它在启动时不起作用。好吧。。。因此,请更改启动脚本以捕获输出,以便您可以看到它在该上下文中所说的内容。另外,捕获正在执行的命令-使用set-x。您没有提供足够的上下文,不允许其他人说出正在发生的事情。除非您提供更多信息,否则只有您可以调试它。请不要要求我更改流程,即在/etc/init.d/中创建脚本并从/etc/rc.local引用它,因为它适用于我的其他启动脚本-这取决于您。但是如果你不准备这样做,我怀疑你是否能解决你的问题!!附加上下文。我只是一次重新运行一行,我发现了我的问题。我的目标是将java命令重定向到变量pwh。java命令没有将输出重定向到变量pwh。我将尝试将java输出重定向到一个文件,然后对该文件运行grep和cut以将内容存储在变量中。