我有以下脚本,当作为脚本执行时不起作用,但在将完全相同的命令输入终端时确实有效:
#! /bin/sh
cd ~/Desktop/Example/
javac Generator.java
错误消息是:
my_script.sh 3:my_script.sh:javac:not found
上面的脚本名为my_script.sh,我使用以下命令从终端执行:
sh my_script.sh
当我做的时候
echo $ SHELL
在终端我得到:
/斌/庆典
答案 0 :(得分:1)
将jmlc添加到路径并再次运行脚本。
要检查:打开一个新shell并输入'jmc'。
让脚本正常工作的另一种方法是在脚本中指定完整路径。将'jmlc'替换为'/ full_path_here / jmlc'。
确保jmlc脚本中的任何其他命令也可在路径中使用。
答案 1 :(得分:1)
您还可以通过导出其路径使jmlc
可用:
#! /bin/sh
export jmlc_bin=FULL_PATH_TO_JMLC
cd ~/Desktop/Example/
$jmlc_bin Generator.java
答案 2 :(得分:0)
导航到单行命令工作的目录,并将脚本保存在该目录中。
然后执行
./my_script.sh