我有以下脚本,它在作为脚本执行时不起作用,但在将完全相同的命令输入终端时起作用:
#! /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
您还jmlc
可以通过导出其 PATH 使其可用:
#! /bin/sh
export jmlc_bin=FULL_PATH_TO_JMLC
cd ~/Desktop/Example/
$jmlc_bin Generator.java
将 jmlc 添加到您的路径并再次运行该脚本。
检查:打开一个新的 shell 并输入“jmc”。
使脚本正常工作的另一种方法是在脚本中指定完整路径。将“jmlc”替换为“/full_path_here/jmlc”。
还要确保 jmlc 脚本中的任何其他命令在路径中也可用。
导航到单行命令正在运行的目录并将脚本保存在该目录中。
然后执行
./my_script.sh