如何找到bash文件的位置?

时间:2019-02-03 13:12:15

标签: bash macos jar terminal

我已经为正在进行的终端游戏制作了一个可执行的jar文件。到目前为止,我通过在终端中输入java -jar name.jar来打开它。这行得通,但是当我使用相同的命令制作.sh文件时,无法访问jar文件。 (情况[1])

后来,我意识到如果指定jar文件在哪里,它确实会打开。 (情况[2])但是jar文件和bash文件位于一个名为“ playgame”的文件夹中,如果我将该文件夹移动到其他位置,则bash文件中指定的文件路径将不再有效。 因此,有一种方法可以指定bash文件的位置,无论它在哪里?

情况[1]中bash文件的内容:

#! /bin/bash
java -jar game.jar

(无效)

情况[2]:

#! /bin/bash
java -jar Desktop/playgame/game.jar

(可以,但是不可靠)

我已经使用chmod +rx bashfile.sh使bash文件可执行。

我尝试使用.command文件而不是.sh文件进行了尝试,

此外,如果这很重要,我正在使用MacOS Mojave 10.14.2。

谢谢!

1 个答案:

答案 0 :(得分:1)

您也可以使用shebang

(printf '#! /usr/bin/env java -jar\n'; cat game.jar) > game
chmod +x game

如果game的目录位于PATH中,则可以调用

$ game