我如何 运行 来自 /usr/local/bin 的 jar 就像终端命令一样?

how can I run a jar from /usr/local/bin like a Terminal command?

我在 Java 中制作了一个计算器 CLI 计算器应用程序,我想使用它。因为我实际上会经常使用它,所以我不喜欢一直输入长路径的想法。 我读过一篇关于 Whosebug 的文章,您可以将 .sh 命令放入 /usr/bin 文件夹,但在 El Capitan 更新后,所有系统文件夹甚至对于 root 用户都被锁定。因此,我再次进行了更多研究,发现 /usr/local/bin 文件夹是专门为终端的 "home-made" 命令创建的。我用以下代码制作了一个 calculator.sh 文件:

    #!/bin/sh 
    -jar /Users/mac/Desktop/Данила/my_apps/calculator.jar "$*"

文章说应该放在/usr/bin文件夹里,但是因为锁了,我就放在/usr/local/bin文件夹里,觉得差不多,结果它应该工作。当然,在我把它放在那里并尝试在终端中使用 运行 "calculator" 命令后,它根本不起作用。我认为它可能需要 "chmod" 命令才能使其工作。所以我用了chmod +x /path,但是之后还是不行。现在我很困惑,所以欢迎任何帮助。

为此,我建议您创建一个别名。

alias test="java -jar /full/path/to/jar.jar"

而"test"现在是一个命令,如果你喜欢得到这个命令总是把它添加到.bash_profile.

首先,/usr/local/bin在你的路上吗? echo $PATH一探究竟。

其次,你确定你粘贴了上面的脚本吗?

命令行好像少了java

我希望它看起来像:

#!/bin/sh 
java -jar /Users/mac/Desktop/Данила/my_apps/calculator.jar "$*"

此外,由于您将其命名为 calculator.sh,因此您必须 运行 使用该名称。

不需要 .sh 扩展名,因此您可以将其命名为 calculator