Con xterm
(y gnome-terminal
, terminator
, etc), puede ejecutar el siguiente comando:
$ xterm -e 'vim somefile.txt'
xterm abrirá y ejecutará el programa especificado (en este caso, Vim). Cuando el programa sale, la ventana del terminal también se cierra. Al ejecutar el comando anterior, si saliera de Vim, la terminal también desaparecería.
¿Hay alguna forma de obtener esta funcionalidad (o similar) a través de Terminal.app (en OSX)? La solución puede estar en AppleScript, Bash o cualquier otra cosa, siempre que se pueda lograr a través de comandos que podría ejecutar en un script Bash.
Con AppleScript, puede hacer:
en ejecución argv establezca el comando en el elemento 1 de argv; puede personalizarlo para que sea constante Dile a la aplicación "Terminal" activar hacer guión (comando & "; salir") final decir carrera final
Esto abrirá la Terminal y le indicará que ejecute un comando (su configuración predeterminada debe cerrar la ventana cuando se cierra el shell). Para ejecutar esto, simplemente useosascript filename.scpt "$command_to_run"
Puede usar el open
comando ( /usr/bin/open
).
Por ejemplo, digamos que quiero abrir el archivo test.txt con Textmate y luego cerrar el shell. Podría usar el siguiente comando:
open -W -a Textmate test.txt && exit
-W
opción hará que espere hasta que se cierre Textmate.-A
opción le permite especificar la aplicaciónLa segunda parte de la línea de comando ( exit
) no hará que se cierre la aplicación Terminal, pero puede cerrar la ventana Terminal si cambia las preferencias predeterminadas. En las preferencias de Terminal, haga clic en la pestaña Shell y cambie la configuración Cuando el shell salga para Cerrar la ventana
Si realmente desea salir de la aplicación Terminal, puede reemplazarlo exit
por una llamada a un script Bash. Por ejemplo:
#!/bin/sh
echo | osascript <<EOF
tell application "Terminal"
quit
end tell
EOF
(Fuente adaptada de Mac OS X Hints )
Esto aún hará que Terminal muestre una ventana emergente que le preguntará si desea cerrar la aplicación.
usuario60290
chris knadler