1

我有以下脚本,它在作为脚本执行时不起作用,但在将完全相同的命令输入终端时起作用:

#! /bin/sh

cd ~/Desktop/Example/

javac Generator.java

错误信息是:

my_script.sh 3:my_script.sh:javac:未找到

上面的脚本名为 my_script.sh ,我使用以下命令从终端执行它:

sh my_script.sh

当我做

回声 $SHELL

在终端我得到:

/bin/bash

4

3 回答 3

1

您还jmlc可以通过导出其 PATH 使其可用:

#! /bin/sh

export jmlc_bin=FULL_PATH_TO_JMLC

cd ~/Desktop/Example/

$jmlc_bin Generator.java
于 2012-08-18T23:25:29.947 回答
1

将 jmlc 添加到您的路径并再次运行该脚本。

检查:打开一个新的 shell 并输入“jmc”。

使脚本正常工作的另一种方法是在脚本中指定完整路径。将“jmlc”替换为“/full_path_here/jmlc”。

还要确保 jmlc 脚本中的任何其他命令在路径中也可用。

于 2012-08-18T22:01:50.250 回答
0

导航到单行命令正在运行的目录并将脚本保存在该目录中。

然后执行

./my_script.sh
于 2012-08-18T21:59:11.727 回答