Evitar la solicitud [proceso completado] después de que finalice el script de terminal en Mac OS X


32

En mi editor de texto, he vinculado una tecla de acceso directo para implementar mi código invocando un comando como

/usr/bin/open /Users/blahblah/run_deploy

Ese script de implementación carga mi código en mi servidor, etc. Estoy usando "abrir" para poder ver la salida en una nueva ventana de terminal en caso de que haya algún error. Muy conveniente, pero al final deja la ventana de terminal abierta con el texto "[Proceso completado]".

¿Alguna forma de saltear esto y en su lugar cerrar automáticamente la ventana?

Proceso terminal completado


1
Tenga en cuenta que ha configurado Terminal para cerrar la ventana cuando el shell sale, suena como un problema de Terminal. ¿Has intentado eliminar el archivo de preferencias com.apple.Terminal.plistde tu carpeta de preferencias y has intentado configurarlo de nuevo?
Chealion

¿Aún tienes este problema?
Daniel Beck

Respuestas:


52

En Preferencias de terminal , en el panel Perfiles, seleccione el Perfil que usa (debe decir "predeterminado" debajo de su nombre), seleccione el subpanel Shell y cambie « Cuando el shell sale: » a « Cerrar si el shell salió limpiamente ».

No ocultará el [Process completed]mensaje, pero cerrará la ventana si el código de salida fue exitoso.


Por alguna razón, no puedo cambiar la configuración en esa ventana de terminal. Si los cambio en otra ventana de terminal y "uso como predeterminado", todavía no se usan en la nueva ventana de terminal. Así es como se ve la nueva ventana de terminal: i.imgur.com/u3tk4.png
Bemmu

Primero para hacer que la prueba sea más rápida, siga: echo 'say hello' > test; chmod +x test(creará un ejecutable que dirá hola), ejecutarlo open testo hacer doble clic en el buscador lo ejecutará con la terminal por defecto. En su captura de pantalla, ninguno de los esquemas está seleccionado (no sé cómo, no puedo deseleccionarlos todos), así que seleccione Básico, ya que está marcado como "Predeterminado", y establezca la configuración de cierre, luego intente ejecutar el script.
tig

Gracias, pero eso tampoco funcionó: i.imgur.com/cCo49.png
Bemmu

¿Qué versión de os usas (no sé si puede estar relacionado, yo uso 10.6.4)? Tal vez esto se deba al correo no leído? Intenta usar mailpara leerlo. Tal vez algo mal con cerrar sesión? ¿Tiene ~/.bash_logoutarchivo, en caso afirmativo, qué hay dentro? Intente ejecutar bash -c exit && echo 'ok': debería ver 'ok', también intente simplemente ejecutar exiten un nuevo shell: debería cerrar la ventana. ¿Usas grupos de ventanas? i.imgur.com/thPNV.png
tig

1
¿Podría poner un comando "Terminal de killall" al final de su script o algo así? Sé que cerrará la ventana pase lo que pase, pero al menos puede ver lo que sucede DURANTE la ejecución del script (y también puede empujar la salida a un registro, por si acaso).
jrc03c

0

La reparación de permisos a través de la Disk utilityaplicación me resolvió el problema.

Seguí viendo el error en la Consoleaplicación:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.