¿Simular el entorno de shell disponible para las aplicaciones GUI?

1

Estoy probando algunos scripts que están destinados para su uso dentro de varias aplicaciones GUI, ya sea como llamadas directas de shell o como parte de una llamada de AppleScript do shell script . Sé por experiencia que el shell que obtiene una aplicación no se parece en nada a lo que obtengo por defecto al iniciar Terminal, así que me gustaría encontrar una manera de simular el shell que obtiene una aplicación para poder depurar los scripts sabiendo que se están comportando como debería esperar que se comporten en su entorno de uso final esperado.

Entonces, ¿cómo abro un terminal (o modifico uno que ya está abierto) para que se comporte como el shell al que tiene acceso una aplicación GUI?

    
pregunta rpspringuel 15.04.2018 - 23:23

1 respuesta

2

Primero, permítame resolver el problema de una aplicación GUI que no proporciona el mismo entorno que una sesión de terminal a un script de bash.

Las diferencias se deben a su perfil de bash, por lo que puede tener exactamente lo mismo en un script de shell GUI utilizando el comando source . Coloque la línea source /Users/<username>/.bash_profile (reemplazando <username> con su nombre corto) en la parte superior de su script de bash y tendrá el mismo entorno en el script cuando se ejecute dentro de una aplicación GUI como en su sesión de shell.

Para obtener un shell sin ejecutar su perfil en iTerm2 (no pude hacer que funcione en Terrminal):

  • Abrir a Terminal- > Preferencias
  • Vaya al panel Perfiles
  • Duplica tu perfil predeterminado
  • En "General"
  • Cambie el nombre del nuevo perfil a "Sin perfil"
  • Establezca la tecla de acceso directo a Control-Comando-A
  • Haz clic en "Comando"
  • Establezca el comando en /bin/bash -norc
  • Cerrar las preferencias

Ahora Control-Command-A abrirá una sesión exactamente igual a la que obtendría una aplicación GUI: todo está configurado en bash predeterminado.

    
respondido por el Tony Williams 16.04.2018 - 07:51

Lea otras preguntas en las etiquetas