macos - mac - OSX-Cómo cerrar automáticamente la ventana del terminal después de ejecutar el comando "salir".
terminal mac commands (12)
Crea una secuencia de comandos:
cat ~/exit.scpt
Me gusta esto:
- Nota: si solo hay una ventana, simplemente salga de la aplicación, de lo contrario simule el
command + w
para cerrar la pestaña)
tell application "Terminal" set WindowNum to get window count if WindowNum = 1 then quit else tell application "System Events" to keystroke "w" using command down end if end tell
Luego agrega un alias en tu * shrc
al igual que vi ~/.bashrc
o zshrc
(¿algo más?)
agréguela: alias exit="osascript ~/exit.scpt"
Y fuente ~ / .bashrc o vuelva a abrir su terminal.app
Cuando termine con la Terminal, quiero salir de ella. En este momento, tengo tres opciones:
Terminal killall. Terminará el proceso, pero de manera abrupta. No creo que esta sea la mejor idea.
Salida de llamada Cambié la configuración para salir cierra Terminal. La aplicación sigue apareciendo abierta en el Dock y no hace lo que yo quiero que haga.
Haga clic derecho> Salir. Sin embargo, este no es un comando de Terminal para salir de él.
Entonces, ¿cuál es la forma en que debería salir y cerrar Terminal? He oído algo sobre osascript, pero no estoy muy seguro. Quiero salir y cerrar, para que Terminal ya no esté abierto, como una ventana y como un proceso.
¿Qué tal el buen viejo Command-Q?
En una ventana de terminal, puede escribir:
kill -9 $(ps -p $PPID -o ppid=)
Esto matará el proceso de solicitud del Terminal, que es el padre del padre del proceso actual, como se ve por el comando kill.
Para cerrar una ventana de Terminal desde una secuencia de comandos en ejecución, debe subir un nivel más en la jerarquía de procesos de esta manera:
kill -9 $(ps -p $(ps -p $PPID -o ppid=) -o ppid=)
He estado usando
dejar -n terminal
al final de mis guiones. Debe configurar el terminal para que nunca solicite preferencias
Entonces Terminal> Preferencias> Configuraciones> Shell Cuando el shell sale Cerrar la ventana Preguntar antes de cerrar Nunca
He estado usando ctrl + d
. En primer lugar, te arroja al destino donde comenzaste el comando sqlite3.
Puede usar AppleScript a través del comando osascript
:
osascript -e ''tell application "Terminal" to quit''
Si se trata de una Mac, tipea ''exit'' y luego presiona return.
También puede usar este comando enrevesado, que no desencadena una advertencia sobre la finalización de su propio proceso:
osascript -e "do shell script /"osascript -e ///"tell application ///////"Terminal///////" to quit///" &> /dev/null &/""; exit
Este comando es bastante largo, por lo que podría definir un alias (como quit
) en su perfil de bash:
alias quit=''osascript -e "do shell script /"osascript -e ///"tell application ///////"Terminal///////" to quit///" &> /dev/null &/""; exit''
Esto te permitirá simplemente escribir " quit
en la terminal sin tener que manipular otras configuraciones.
Use el comando osascript
en su código como icktoofay mencionado: osascript -e ''tell application "Terminal" to quit''
Luego, abra las preferencias de Terminal, vaya a Configuración> Shell y configure "Solicitar antes de cerrar:" a "Nunca". El terminal ahora debe salir por completo (no permanecer abierto en su base) e ignorar el aviso antes de salir. Si solo tiene una ventana de Terminal abierta y el comando osascript
es su última línea de código, debe esperar que finalice cualquier comando que osascript
.
Esto no sería ideal si está ejecutando scripts en la misma ventana u otras ventanas en el fondo (por ejemplo, puede ejecutar un comando en el fondo y continuar usando la ventana actual para otros comandos si el primer comando es seguido por un símbolo comercial) ); ¡ten cuidado!
Si osascript
código osascript
en un archivo de script de shell, probablemente pueda llamarlo con cualquier nombre de archivo concreto que le dé, siempre que esté en la ruta de búsqueda de Terminal (ejecute echo $PATH
para ver dónde busca Terminal los scripts )
en Terminal.app
Preferencias> Configuraciones> Shell
Preferencias> Perfiles> (Seleccionar un perfil)> Shell.
en ''Cuando el caparazón sale'' elegido ''Cierre la ventana''
osascript -e "tell application /"System Events/" to keystroke /"w/" using command down"
Esto simula una pulsación de tecla CMD + w .
Si desea que Terminal se cierre por completo, puede usar: osascript -e "tell application /"System Events/" to keystroke /"q/" using command down"
Esto no da ningún error y hace que la Terminal se pare limpiamente.