如何找到一个bash文件的位置?

问题描述 投票:0回答:2

我做了一个终端的比赛,我一直工作在一个可执行的JAR文件。到目前为止,我通过在终端中输入java -jar name.jar打开了它。这个工作,但是当我做了一个.sh文件使用相同的命令,jar文件无法访问。 (情况[1])

后来,我意识到,如果我指定的jar文件,它打开。 (情况[2]),但jar文件和bash文件是在被称为“玩笑”同一个文件夹,如果我是到该文件夹​​移到别的地方,在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的莫哈韦10.14.2如果这是任何重要性。

提前致谢!

bash macos jar terminal
2个回答
1
投票

您还可以使用shebang

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

如果game的dir是在PATH你可以调用

$ game
© www.soinside.com 2019 - 2024. All rights reserved.