8 votos

Cómo cerrar la aplicación Terminal utilizando la línea de comandos de terminal ("exit") en MacOS Catalina

Quiero cerrar el Terminal usando la línea de comandos del terminal.

Pero cuando entro en el exit el Terminal sólo cierra la sesión pero no cierra la ventana de la aplicación. Hay alguna manera de cerrar también la aplicación.

Estoy usando MacOS Catalina 10.15.6.

enter image description here

2 votos

El título pregunta cómo cerrar la APP mientras que el cuerpo pregunta cómo cerrar sólo la ventana. Debería aclararse (la solución en la respuesta aceptada no cierra la aplicación, mientras que una solución dada en otra respuesta sí cierra la aplicación).

0 votos

Gracias por la respuesta, ahora lo he cambiado.

20voto

user3439894 Puntos 5883

En Terminal > Preferencias > Perfiles > Shell la configuración por defecto para Cuando la cáscara sale: es: No cierre la ventana

Esto se puede cambiar a: Cerrar la ventana

Entonces el exit comando cerrará el ventana .

enter image description here


Editar para abordar la pregunta editada:

Si quiere cerrar el ventana utilizando el exit comando puede hacer lo que se sugiere en la primera parte de esta respuesta, sin embargo, si también quiere cerrar automáticamente y con gracia Terminal también, como parte de su script o en lugar del exit comando como se muestra en su pregunta, entonces puede hacer lo siguiente:

Primero cree un simple AppleScript aplicación utilizando lo siguiente ejemplo AppleScript código en Script Editor :

tell application "Terminal" to if (busy of windows) does not contain true then quit

Guardarlo como un aplicación llamado, por ejemplo QuitTerminal en la parte principal Aplicaciones carpeta .

Después de guardarlo, abre Terminal y luego abrir, por ejemplo QuitTerminal con el fin de activar los permisos en Preferencias del sistema > Seguridad y privacidad > Privacidad

Una vez hecho esto, puede utilizar lo siguiente al final de su script o en lugar del exit comando :

open -a "OuitTerminal"

Ejemplo basado en comando que se muestra en su pregunta:

/Users/harikrishna/Desktop/youtube.sh ; open -a "OuitTerminal"

Esto sólo cerrará Terminal si no hay procesos en ejecución en ninguno de los Windows en Terminal .

Nota: Si no quieres ver, por ejemplo OuitTerminal espectáculo en el Muelle puede modificar el aplicación utilizando lo siguiente comando en Terminal :

defaults write '/Applications/OuitTerminal.app/Contents/Info.plist' LSUIElement -bool yes

Si no le interesa ningún proceso en ejecución puede forzar el cierre Terminal de la script o comando utilizando killall Terminal en lugar de exit Sin embargo, esto es complicado y no recomiendo usarlo en lugar de lo presentado anteriormente.

0 votos

Gracias por la respuesta , también funcionó.Pero me enfrenté a una dificultad mientras escribía apple script y después lo hice.Pero no entiendo como la respuesta anterior también cierra la ventana . Podría decir qué pasa o cuál es la diferencia entre la salida y el QuitTerminal script que has compartido aquí.

0 votos

@Hari krishna Goli, Si todo lo que estás tratando de hacer es cerrar el ventana y no también Terminal entonces utiliza mi respuesta original, que es lo que supuse que intentabas hacer. Si además quieres cerrar el Terminal aplicación y no sólo uno de sus Windows entonces tendrás que usar lo que he añadido después de editar tu pregunta original. En la primera parte de mi respuesta haciendo el cambio en el preferencias permite la exit comando para cerrar el ventana se ejecuta en, pero no el aplicación . Mi respuesta actualizada proporciona una forma de cerrar con gracia el aplicación no sólo un ventana .

0 votos

@Hari krishna Goli, La razón de la AppleScript aplicación es cerrar sólo Terminal si no hay procesos en ejecución en ninguno de sus Windows .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X