MacOS - 脚本在shell中运行时有效,但在使用终端

时间:2017-09-29 19:49:58

标签: bash macos shell terminal

我正在尝试为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),但如果文件名有嵌入空格则会失败。

我想知道的是为什么在终端中失败以及如何解决它。

0 个答案:

没有答案