双击时如何在Mac上运行shell脚本?

Bra*_*rad 7 macos shell executable

我创建了一个shell脚本来运行Mac中的jar文件:

#!/bin/sh
java -Xmx512m -jar test.jar;
Run Code Online (Sandbox Code Playgroud)

我已将此脚本重命名为" app.command ",以便在双击时直接运行.我已经将" chmod + x "命令应用于它以获得可执行权限.

现在当双击这个脚本时,我得到" 无法访问jarfile test.jar ",而当通过终端运行这个脚本时,jar运行正常!

任何人都可以帮助我在Mac上双击它时如何使这个脚本运行?

Cur*_*tis 8

如果从终端运行,则会设置工作目录,如果双击它可能不是这种情况.尝试在脚本中提供jar文件的完整路径.

  • 这可能会变得任意复杂,但如果脚本通过双击(并且不是符号链接)运行,则`cd"$(dirname"$ 0")"`应该有效. (11认同)
  • 将此命令添加为脚本的第二行(即在#!/ bin/sh`之后 - 这样脚本的其余部分(主要是`java`命令)将从脚本的目录中执行. (3认同)