Je suis sûr que la réponse est ridiculement évidente, mais jusqu'à présent, Google n'a pas été très utile. Comment configurer un script shell à exécuter depuis le dock? Il semble que le simple fait de créer un raccourci ouvrira le fichier dans mon éditeur. Y a-t-il un drapeau que je dois définir quelque part pour lui dire de s'exécuter au lieu de l'ouvrir pour le modifier?
Réponses
Trop de publicités?Vous pouvez créer un processus Automator avec une seule étape - "Exécuter le Script Shell"
Ensuite, File > Save As
, et de modifier le Format de Fichier "Application". Lorsque vous ouvrez l'application, il va exécuter le Script Shell étape, l'exécution de la commande, la sortie après qu'il accomplit.
L'avantage à cela est qu'il est vraiment simple à faire, et vous pouvez très facilement obtenir la saisie de l'utilisateur (par exemple, la sélection d'un tas de fichiers), puis la passer à l'entrée du shell script (stdin, ou comme arguments).
(Automator est dans votre /Applications
le dossier!)
Si vous n'avez pas besoin d'une fenêtre Terminal, vous pouvez transformer un fichier exécutable en application simplement en déplaçant example.sh
à example.sh.app/Contents/MacOS/example.sh
. Vous pouvez placer l'application dans votre dock comme n'importe quel autre et l'exécuter en un clic.
Si vous avez besoin d'avoir la fenêtre du terminal affichée, je n'ai pas de solution simple. Vous pourriez probablement faire quelque chose avec Applescript, mais ce n'est pas très propre.
Je sais c'est vieux mais dans ce cas il est utile à d'autres:
Si vous devez exécuter un script et vous souhaitez le terminal de pop up de sorte que vous pouvez voir les résultats que vous pouvez faire, comme l'Abîme dit au Chevalier et de changer l'extension en .commande. Si vous double-cliquez dessus pour ouvrir une fenêtre de terminal et exécutez.
J'ai cependant besoin de cela pour s'exécuter à partir d'automator ou appleScript. Donc, pour obtenir cela d'ouvrir un nouveau terminal la commande, j'ai couru à partir de "run script shell" était "ouverte myShellScript.commande" et il a ouvert un nouveau terminal.
Je pense que ce fil peut être utile: http://forums.macosxhints.com/archive/index.php/t-70973.html
Pour paraphraser, vous pouvez le renommer avec l'extension .command ou créer un script AppleScript pour exécuter le shell.
Comme joe mentionné, la création du script shell, puis la création d'un script applescript pour appeler le script shell, permettra d'atteindre cet objectif, et est très maniable.
Script Shell
-
Créer votre script shell dans votre éditeur de texte favori, par exemple:
mono "/Volumes/Media/~Users/me/Software/keepass/keepass.exe"
(cela va à l'w32 exécutable, en utilisant le framework mono)
Enregistrer un script shell, pour mon exemple, "StartKeepass.sh"
Apple Script
-
Ouvrir l'Éditeur AppleScript, et d'appeler le script shell
do shell script "sh /Volumes/Media/~Users/me/Software/StartKeepass.sh" user name "<enter username here>" password "<Enter password here>" with administrator privileges
-
do shell script
- applescript de commande d'appel externe des commandes shell -
"sh ...."
- c'est votre script shell (chemin complet) créé à l'étape (vous pouvez également exécuter des commandes directement, j'ai pu omettre le script shell et il suffit d'exécuter mon mono commande ici) -
user name
- déclare applescript vous voulez exécuter la commande en tant qu'utilisateur spécifique -
"<enter username here>
- la remplacer par votre nom d'utilisateur (en gardant les guillemets) ex "josh" -
password
- déclare applescript votre mot de passe -
"<enter password here>"
- remplacer votre mot de passe (en gardant les guillemets) ex "mypass" -
with administrative privileges
- déclare que vous souhaitez exécuter en tant qu'administrateur
-
Créer Votre .APP
enregistrer votre applescript comme nom de fichier.scpt, dans mon cas RunKeepass.scpt
enregistrer sous... votre applescript et modifier le format de fichier de l'application, résultant en RunKeepass.app dans mon cas
Copie de votre application fichier dans votre dossier d'applications