'How to find the location of a bash file?
I've made an executable .jar
file for a terminal game I've been working on. So far, I opened it by typing java -jar name.jar
in the Terminal. This worked, but when I made a .sh
file with the same command, the .jar
file couldn't be accessed. It looked like this:
#! /bin/bash
java -jar game.jar
(doesn't work)
Later, I realized that if I specify where the jar file is, it does open.
#! /bin/bash
java -jar Desktop/playgame/game.jar
But the jar file and bash file are in the same folder, and if I were to move that folder elsewhere, that file path specified in the bash file won't be valid anymore.
Is there a way to specify the location of the bash file, no matter where it is?
I have used chmod +rx bashfile.sh
to make the bash file executable.
I have tried it with a .command
file instead of .sh
file, it did the same.
Also, I'm on a MacOS Mojave 10.14.2 if that's of any importance.
Solution 1:[1]
You can also use shebang
(printf '#! /usr/bin/env java -jar\n'; cat game.jar) > game
chmod +x game
and if game
's dir is in PATH
you can invoke just
$ game
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Diego Torres Milano |