我正在尝试为Mac编写一个脚本,该脚本将按顺序运行其目录中的每个.jar
文件。我使用for循环迭代文件,如下所示:
for i in *.jar; do
java -jar "$i" "$@"
done
这在我的Linux机器上完美运行,当我使用./runJars.sh
从shell调用它时,但是当我使用> Terminal打开脚本运行脚本时,它会失败。
当使用Terminal打开它时,循环运行一次并且java输出一个错误,指出它无法加载文件*.jar
,所以我得出结论,文件扩展由于某种原因没有发生,当它打开时终奌站。之前的一切都正常运行。
我尝试添加一行files=*.jar
然后循环$files
,但这也不起作用。我试过循环$(ls *.jar)
,但如果文件名有嵌入空格则会失败。
我想知道的是为什么在终端中失败以及如何解决它。