Je sais que pour exécuter un fichier, j'utilise la commande .
, puis le nom du fichier avec un espace entre les deux. Mais j’essaie d’exécuter un fichier .jar en utilisant la commande .
et cela ne fonctionne pas. Je suis allé dans les propriétés, je l'ai marqué comme exécutable et je l'ai fait fonctionner avec Java.
Existe-t-il un moyen d'exécuter un fichier avec Java dans le terminal Bash ? [J'essaie d'exécuter un fichier Minecraft.jar] [1]
[1] : http://i.stack.imgur.com/Quzbk.png J'essaie d'exécuter le fichier Minecraft.jar.
La syntaxe .
ne peut être utilisée que pour exécuter (par "sourcing" ;) des scripts shell.
Vous devrez utiliser la commande java
pour exécuter un fichier .jar
:
java -jar Minecraft.jar
Si java n'est pas installé sur votre ordinateur, vous pouvez y remédier en installant le paquet default-jre
¹ ;. Vous pouvez vérifier si java est déjà installé en l'exécutant dans un terminal :
java -version
[1] : Ceci installera le runtime Java openjdk par défaut. Vous pouvez utiliser openjdk-8-jre
, ou openjdk-7-jre
, ou openjdk-6-jre
à la place, si vous préférez - selon ce qui est disponible sur votre version d'Ubuntu.
Linux est parfaitement capable d'exécuter un binaire étranger, comme un fichier JAR. C'est ainsi que fonctionne Wine, par exemple. Pour lancer des fichiers JAR en tant qu'exécutables, faites ce qui suit dans une console
sudo apt-get install binfmt-support
Accédez à votre fichier JAR et changez-le en exécutable (vous pouvez également le faire via les propriétés du fichier dans Nautilus).
chmod a+rx myjar.jar
Exécutez votre fichier JAR comme s'il s'agissait de tout autre exécutable binaire ou script shell.
./myjar.jar
Note : Assurez-vous que le module binfmt_misc du noyau linux est chargé. Si vous utilisez votre noyau compilé personnalisé sans ce module, binfmt-support ne fonctionnera pas.
S'il s'agit d'un jar exécutable, alors
java -jar Minecraft.jar
Toutes les archives jar ne contiennent pas une classe exécutable, déclarée pour être lancée dans le fichier Manifest, mais si c'est le cas, cela fonctionnera.
Btw : Vous ne démarrez pas la plupart des programmes à partir du shell avec le point. Le point est un raccourci pour source
, et il ne fonctionne que dans le shell bash et quelques autres shells, pour inclure un script dans la portée de la session actuelle.
Un binaire compilé xybin est simplement lancé avec son nom s'il est dans le chemin :
xybin
ou, avec son chemin absolu :
/home/foo/proj/test/xybin
ou avec son chemin relatif :
proj/test/xybin
ou si vous vous trouvez dans le répertoire du fichier, avec ce chemin relatif :
./xybin
Le fichier doit être marqué exécutable pour vous (voir : chmod). Tout ce qui précède est également vrai pour les scripts shell, mais ils ont souvent une extension .sh, et vous pouvez lancer un script shell en invoquant l'interpréteur, et il n'a pas besoin d'être marqué comme exécutable :
bash xy.sh
Si vous ne voulez pas démarrer un nouveau bash, vous pouvez utiliser les sources, et vous le faites, pour consommer les définitions de fonctions, les alias et les paramètres des variables.