Réponses:
Tout d'abord dans le terminal, rendez le script exécutable en tapant:
chmod a+x (yourscriptname)
Ensuite, dans le Finder, faites un clic droit sur votre fichier et sélectionnez "Ouvrir avec" puis "Autre ...".
Ici, vous sélectionnez l'application dans laquelle vous souhaitez que le fichier s'exécute, dans ce cas, ce sera Terminal. Pour pouvoir sélectionner le terminal, vous devez passer de "Applications recommandées" à "Toutes les applications". (L'application Terminal.app se trouve dans le dossier Utilitaires)
REMARQUE: sauf si vous ne souhaitez pas associer tous les fichiers à cette extension pour les exécuter dans le terminal, vous ne devez pas cocher "Toujours ouvrir avec".
.command
est par défaut exécutable à partir du Finder, sans qu'il soit nécessaire de demander au Finder comment l'ouvrir.
.command
extension de fichier.
Avez-vous essayé d'utiliser l' .command
extension de nom de fichier?
chmod +x
) mais l' .command
extension est déjà liée à Terminal. Excellente solution, merci
Depuis OSX 10.10 (Yosemite) et depuis au moins OS X 10.8 (Mountain Lion) , le comportement est le suivant lorsque vous ouvrez (double-cliquez) des scripts exécutables à partir du Finder :
.command
:
Preferences... > Profiles
vous pouvez choisir de fermer automatiquement la fenêtre à la fin du script.cd -- "$(dirname "$BASH_SOURCE")"
juste après la ligne de shebangcd -- "$(dirname "$0")"
.chmod +x <script>
dans Terminal; sinon, vous verrez les symptômes suivants:.command
: Finder affiche un message d'erreur trompeur qui suggère que le problème peut être résolu via File > Get Info
, ce qui n'est pas vrai - utilisez la chmod +x
méthode suggérée ci-dessus.#!/bin/bash
): le comportement est comme si le suffixe était .sh
- voir ci-dessous..sh
, exécutables ou non:
TextEdit.app
ou, si installés, avec Xcode.app
..scpt
ou .applescript
(même s'ils sont eux-mêmes marqués comme exécutables, ce qui n'est normalement pas le cas):
[Apple]Script Editor
[1] Exécutable signifie: un script avec le ou les bits d'autorisation exécutables définis et l'utilisateur appelant - relatif à la propriété du fichier - donc potentiellement autorisé à l'exécuter.
Si vous utilisez chmod a+x
pour définir tous les bits d'autorisation (ce qui est typique), n'importe qui peut l'invoquer (en supposant qu'il est également autorisé à lire le fichier en fonction du ou des bits d'autorisation de lecture et de la propriété du fichier).
osascript
vous pouvez inclure dans le .command
fichier au lieu de jouer manuellement avec le profil.
osascript -e '...'
commande à la fin de son script? Quelle est la commande spécifique et garantit-elle que l'onglet de droite est fermé même lorsque le script ne s'exécute pas dans l'onglet le plus en avant?
osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &
... Cela pourrait ne pas fonctionner dans tous les scénarios, bien que la redirection à la end est vraiment la clé - l'osascript peut sinon être facilement adapté (par exemple , il peut être nécessaire de changer la fenêtre en tab si c'est le comportement par défaut de votre terminal, etc.).
.command
exécution du fichier de script malgré le paramètre de profil?
bash
script, ajoutez read -p 'Press Return to close this window.'
comme dernière instruction.
Vous pouvez également créer une application Mac OS X standard à partir de votre script à l'aide de Platypus
Le moyen le plus simple consiste à modifier l'extension en .command
ou aucune extension.
Mais cela ouvrira le terminal et vous devrez le fermer. Si vous ne voulez voir aucune sortie, vous pouvez utiliser Automator pour créer une application Mac que vous pouvez double-cliquer, ajouter au dock, etc.
Automator
applicationRun
bouton dans le coin supérieur droit pour le tester.File > Save
pour créer l'application.Pas besoin d'utiliser des applications tierces telles que Platypus.
Créez simplement un script Apple avec Script Editor et utilisez la commande do shell script "shell commands"
pour des appels de commande directs ou des fichiers de script shell exécutables, conservez le fichier de script modifiable en sécurité quelque part, puis exportez-le pour créer un script d'application. le script de l'application peut être lancé par double-clic ou sélection dans le dossier de la barre.
Vous pouvez également définir des valeurs par défaut par extension de fichier à l'aide de RCDefaultApp:
http://www.rubicode.com/Software/RCDefaultApp/
vous pourriez éventuellement définir .sh pour l'ouvrir dans iTerm / Terminal, etc.
chmod u+x filename.sh