4 votes

L'équivalent en Terminal.app de "xterm -e 'cmd'`".

Avec xterm (et gnome-terminal , terminator etc), vous pouvez exécuter la commande suivante :

$ xterm -e 'vim somefile.txt'

xterm ouvrira et exécutera le programme spécifié (dans ce cas, Vim). Lorsque le programme se termine, la fenêtre du terminal se ferme également. En exécutant la commande ci-dessus, si vous deviez quitter Vim, le terminal disparaîtrait également.

Existe-t-il un moyen d'obtenir cette fonctionnalité (ou une fonctionnalité similaire) via Terminal.app (sous OSX) ? La solution peut être en AppleScript, Bash ou n'importe quoi d'autre vraiment, tant qu'elle est réalisable via des commandes que je pourrais exécuter dans un script de Bash.

6voto

0942v8653 Points 6754

Avec AppleScript, vous pouvez le faire :

on run argv
    set command to item 1 of argv --you can customize this to be constant
    tell application "Terminal"
        activate
        do script (command & "; exit")
    end tell
end run

Cela ouvrira Terminal et lui demandera d'exécuter une commande (vos paramètres par défaut doivent fermer la fenêtre lorsque le shell sort). Pour exécuter cette commande, il suffit d'utiliser osascript filename.scpt "$command_to_run"

1voto

ƘɌỈSƬƠƑ Points 325

Vous pourriez utiliser le open ( /usr/bin/open ).

Par exemple, disons que je veux ouvrir le fichier test.txt avec Textmate et fermer ensuite le shell. Je pourrais utiliser la commande suivante :

open -W -a Textmate test.txt && exit
  • Le site -W l'option fera en sorte qu'il attende que Textmate soit fermé.
  • Le site -A vous permet de spécifier l'application

La deuxième partie de la ligne de commande ( exit ) n'entraînera pas le terminal application pour quitter, mais vous pouvez fermer le terminal fenêtre si vous modifiez les préférences par défaut. Dans les préférences du terminal, cliquez sur le bouton Shell et modifiez le paramètre Quand le shell sort à Fermer la fenêtre

Terminal preferences

Si vous voulez vraiment quitter l'application Terminal, vous pouvez remplacer exit par un appel à un script de Bash. Par exemple :

#!/bin/sh

echo | osascript <<EOF
tell application "Terminal"
  quit
end tell
EOF

(Source adaptée de Conseils pour Mac OS X )

Le terminal affichera alors une fenêtre contextuelle vous demandant si vous souhaitez fermer l'application.

Terminal popup

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X