Comment faire ça file.sh exécutable via un double clic?

Tout d'abord, J'utilise Mac.

Ensuite, je dois exécuter ceci "file.sh" nous allons l'appeler. Chaque fois que j'ai besoin de l'exécuter, je dois ouvrir le Terminal et taper:

cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh

C'est correct, mais j'ai l'impression que ce serait beaucoup plus rapide si je faisais exécuter le fichier en double-clic, ne pensez-vous pas?

Donc ma question est, comment puis-je rendre ce fichier exécutable par un double clic?

Mes idées étaient soit:

A) tapez quelque chose comme chmod dans terminal et changez les autorisations?

B) faire un fichier, mettre le code que j'ai écrit ci-dessus ^ et ensuite rendre ce fichier exécutable?

C) faire une automatisation en quelque sorte pour le faire?

Quelle est la meilleure façon, ou y a-t-il une meilleure façon encore? Veuillez également expliquer autant que vous le pouvez, je suis nouveau au Terminal. Grâce.

136
demandé sur Jacob 2011-12-07 07:10:48

4 réponses

Par défaut, les fichiers *.sh sont ouverts dans un éditeur de texte (Xcode ou TextEdit). Pour créer un script shell qui s'exécutera dans le Terminal lorsque vous l'ouvrez, nommez-le avec l'extension "command", par exemple, file.command. Par défaut, ceux-ci sont envoyés au Terminal, qui exécutera le fichier en tant que script shell.

Vous devrez également vous assurer que le fichier est exécutable, par exemple:

chmod +x file.command

Sans cela, Terminal refusera de l'exécuter.

Notez que le script ne doit pas commencer par un #! préfixe dans ce scénario spécifique, Car Terminal organise spécifiquement pour l'exécuter avec votre shell par défaut. (Bien sûr, vous pouvez ajouter une ligne #! Si vous voulez personnaliser le shell utilisé ou si vous voulez vous assurer que vous pouvez l'exécuter à partir de la ligne de commande tout en utilisant un shell différent.)

Notez également que Terminal exécute le script shell sans changer le répertoire de travail. Vous devrez commencer votre script avec une commande cd Si vous en avez réellement besoin pour l'exécuter avec un répertoire de travail particulier.

304
répondu Chris Page 2012-03-10 21:16:18

Supprimez complètement l'extension, puis double-cliquez dessus. La plupart des scripts shell système sont comme ceci. Tant qu'il a un shebang cela fonctionnera.

26
répondu NobleUplift 2016-01-22 18:05:20

Vous pouvez simplement dire au Finder d'ouvrir le fichier .sh dans le Terminal:

  1. Sélectionnez le fichier
  2. obtenir des informations (cmd-i) sur elle
  3. dans la section" Ouvrir avec", Choisissez "autre..." dans le menu contextuel
  4. choisissez Terminal comme application

Cela aura exactement le même effet que la renommer .command sauf que... vous n'avez pas à le renommer :)

13
répondu Markus Amalthea Magnuson 2013-06-07 07:45:31
  1. Terminal De Lancement
  2. Type -> nano nom de fichier
  3. coller le contenu du fichier Batch et l'enregistrer
  4. Type -> chmod +x nom de fichier
  5. Il va créer un fichier exe maintenant, vous pouvez double-cliquer et il.

Le nom du fichier doit être placé entre guillemets doubles. Depuis que J'utilise Mac - >dans mon cas, le contenu de batch file est

Cd /Users/votrenom/Documents/SeleniumServer

Java-jar sélénium-serveur-autonome-3.3.1.jar-rôle hub

Cela fonctionnera pour bien sûr

4
répondu Manish 2017-05-02 12:21:01