Tout d'abord, j'utilise Mac.
Ensuite, je dois exécuter ce "file.sh" que nous l'appellerons. 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 fais exécuter le fichier en double-cliquant, tu ne crois pas?
Ma question est donc la suivante: comment rendre ce fichier exécutable par double-clic?
Mes idées étaient soit:
a) tapez quelque chose comme chmod dans le terminal et changez les permissions?
b) créer un fichier, y mettre le code que j'ai écrit dessus ^ puis rendre ce fichier exécutable?
c) faire une automatisation pour faire cela?
Quelle est la meilleure façon, ou y a-t-il une méthode encore meilleure? Veuillez également expliquer autant que vous le pouvez, je suis nouveau sur Terminal. Merci.
la source
Réponses:
Par défaut, les
*.sh
fichiers 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'ouvrirez, nommez-le avec l'extension «command», par exemplefile.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:
Sans cela, Terminal refusera de l'exécuter.
Notez que le script n'a 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 souhaitez 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 autre shell.)Notez également que Terminal exécute le script shell sans changer le répertoire de travail. Vous devrez commencer votre script avec une
cd
commande si vous en avez réellement besoin pour s'exécuter avec un répertoire de travail particulier.la source
cd "`dirname "$0"`"
pour définir le répertoire de travail actuel sur le répertoire où se trouve votre skript shell.open -n ...
commande. Cela fonctionne, mais à chaque fois que la fenêtre du terminal s'ouvre et et me montre "[Processus terminé]". Est-il possible d'empêcher d'une manière ou d'une autre l'apparition de la fenêtre du terminal?Supprimez complètement l'extension, puis double-cliquez dessus. La plupart des scripts shell système sont comme ça. Tant qu'il a un shebang, cela fonctionnera.
la source
Vous pouvez simplement dire au Finder d'ouvrir le
.sh
fichier dans Terminal:Cela aura exactement le même effet que de le renommer
.command
sauf… vous n'avez pas à le renommer :)la source
Le nom du fichier doit être placé entre guillemets. Puisque j'utilise Mac-> Dans mon cas, le contenu du fichier batch est
cd / Users / yourName / Documents / SeleniumServer
java -jar selenium-server-standalone-3.3.1.jar -role hub
Cela fonctionnera à coup sûr
la source
vous pouvez changer le fichier exécutable en utilisant
chmod
comme ceciet utilisez cette commande pour exécuter
la source