Simula l'ambiente di shell disponibile per le app della GUI?

1

Sto testando alcuni script che sono destinati ad essere utilizzati in varie app GUI, sia come chiamate shell dirette che come parte di una chiamata do shell script AppleScript. So per esperienza che la shell che riceve un'app non assomiglia a quello che ottengo per impostazione predefinita all'avvio di Terminal, quindi mi piacerebbe capire un modo per simulare la shell che viene generata da un'app in modo da poter eseguire il debug degli script sapendo che si stanno comportando come dovrei aspettarmi che si comportino nel loro ambiente di utilizzo finale previsto.

Quindi, come posso aprire un terminale (o modificarne uno già aperto) in modo che si comporti come la shell a cui ha accesso l'app della GUI?

    
posta rpspringuel 15.04.2018 - 23:23
fonte

1 risposta

2

Innanzitutto, consentimi di risolvere il problema di un'app GUI che non fornisce lo stesso ambiente di una sessione terminale a uno script bash.

Le differenze dipendono dal tuo profilo bash, quindi puoi avere esattamente lo stesso in uno script della GUI utilizzando il comando source . Metti la linea source /Users/<username>/.bash_profile (sostituendo <username> con il tuo nome breve) nella parte superiore del tuo script bash e avrai lo stesso ambiente nello script quando esegui all'interno di un'app GUI come nella tua sessione shell.

Per ottenere una shell senza eseguire il tuo profilo in iTerm2 (non riuscivo a farlo funzionare in Terrminal):

  • Apri a Terminal- > Preferenze
  • Vai al pannello Profili
  • Duplica il tuo profilo predefinito
  • In "Generale"
  • Cambia il nome del nuovo profilo in "Nessun profilo"
  • Imposta il tasto di scelta rapida su Ctrl-Comando-A
  • Fai clic su "Comando"
  • Imposta il comando su /bin/bash -norc
  • Chiudi le preferenze

Ora Control-Command-A aprirà una sessione esattamente come una app GUI - tutto impostato su bash default.

    
risposta data 16.04.2018 - 07:51
fonte

Leggi altre domande sui tag