我有一个shell脚本文件(run.sh)的命令包含以下内容:运行在shell脚本
#!/bin/bash %JAVA_HOME%/bin/java -jar umar.jar
当我尝试运行它(./run.sh),它给了我以下: umar/bin/run.sh:第1行:fg:没有作业控制
但是,如果我直接在shell上运行相同的命令,它完美的工作。
脚本文件有什么问题?
感谢
我有一个shell脚本文件(run.sh)的命令包含以下内容:运行在shell脚本
#!/bin/bash %JAVA_HOME%/bin/java -jar umar.jar
当我尝试运行它(./run.sh),它给了我以下: umar/bin/run.sh:第1行:fg:没有作业控制
但是,如果我直接在shell上运行相同的命令,它完美的工作。
脚本文件有什么问题?
感谢
%FOO%是不是你在Bourne/BASH shell脚本做命令替换。我假设你是从Windows命令行运行的,这就是它直接运行时的原因。尝试使用适当的bourne语法:
${JAVA_HOME}/bin/java -jar umar.jar
不要忘记用空格来保护变量:''$ JAVA_HOME“/ bin/java'。 – 2009-10-20 01:45:07
谢谢保罗。我提出了你所建议的更改。至少现在我没有得到“fg:没有工作控制”的信息。但现在它给了我这个错误:“无法访问jarfile umar.jar”,即使我已将所有权限设置为true:“chmod 777 umar.jar”。 奇怪的事实是,如果我直接从shell运行jar,它可以很好地工作。 – craftsman 2009-10-20 01:50:49
umar.jar在当前目录中吗? – 2009-10-20 01:55:41
尝试在监控模式下打开
set -m
%JAVA_HOME%将替代Windows环境变量并适用于.bat文件。
请尝试下面的shell脚本,它应该可以在大多数UNIX系统上工作。
#!/bin/bash
$JAVA_HOME/bin/java -jar umar.jar
你把#!/ bin/bash作为脚本的第一行吗? – jldupont 2009-10-20 01:34:19