Mit xterm
(und gnome-terminal
, terminator
, etc) können Sie den folgenden Befehl ausführen:
$ xterm -e 'vim somefile.txt'
xterm öffnet das angegebene Programm (in diesem Fall Vim) und führt es aus. Wenn das Programm beendet wird, schließt sich auch das Terminalfenster. Wenn Sie den obigen Befehl ausführen und Vim beenden würden, würde das Terminal ebenfalls verschwinden.
Gibt es eine Möglichkeit, diese (oder ähnliche) Funktionalität über Terminal.app (unter OSX) zu erhalten? Die Lösung kann wirklich in AppleScript, Bash oder irgendetwas anderem liegen, solange es über Befehle erreichbar ist, die ich in einem Bash-Skript ausführen könnte.
Mit AppleScript können Sie Folgendes tun:
auf lauf argv set command to item 1 of argv – Sie können dies so anpassen, dass es konstant ist Sagen Sie der Anwendung "Terminal" aktivieren Sie Skript ausführen (Befehl & "; exit") Ende erzählen Endlauf
Dadurch wird Terminal geöffnet und angewiesen, einen Befehl auszuführen (Ihre Standardeinstellungen müssen das Fenster schließen, wenn die Shell beendet wird). Um dies auszuführen, verwenden Sie einfachosascript filename.scpt "$command_to_run"
Sie könnten den open
Befehl ( /usr/bin/open
) verwenden.
Sagen Sie zum Beispiel, dass ich die Datei test.txt mit Textmate öffnen und die Shell danach schließen möchte. Ich könnte den folgenden Befehl verwenden:
open -W -a Textmate test.txt && exit
-W
Option bewirkt, dass es wartet, bis Textmate geschlossen wird.-A
Option können Sie die Anwendung angebenDer zweite Teil der Befehlszeile ( exit
) bewirkt nicht, dass die Terminal- Anwendung beendet wird, kann aber das Terminal- Fenster schließen , wenn Sie die Standardeinstellungen ändern. Klicken Sie in den Terminal-Einstellungen auf die Registerkarte Shell und ändern Sie die Einstellung Beim Beenden der Shell auf Fenster schließen
Wenn Sie die Terminal-Anwendung wirklich beenden möchten, können Sie sie exit
durch einen Aufruf eines Bash-Skripts ersetzen. Zum Beispiel:
#!/bin/sh
echo | osascript <<EOF
tell application "Terminal"
quit
end tell
EOF
(Quelle angepasst von Mac OS X Hints )
Dies führt immer noch dazu, dass Terminal ein Popup anzeigt, in dem Sie gefragt werden, ob Sie die Anwendung schließen möchten.
Benutzer60290
Chris Knadler