Come ottengo osascript per analizzare i backslash ed eseguire questo comando in una nuova finestra di Terminale?

2

Ecco un comando che funziona bene quando lo incollo nella finestra di Mac Terminal:

echo -n -e \033]0\;My Custom Window Title Here\007 ; ping www.google.com

In particolare, imposta il titolo del terminale per includere la stringa "Titolo della mia finestra personalizzata qui", quindi inizia a eseguire il ping su www.google.com.

Ora quello che voglio fare è avere il comando precedente eseguito in una finestra Terminale separata, quindi inserisco questo:

osascript -e 'tell app "Terminal" to do shell script "echo -n -e \033]0\;My Custom Window Title Here\007 ; ping www.google.com"'

... ma tutto ciò che ottengo è questo errore:

dyld: DYLD_ environment variables being ignored because main executable
(/usr/bin/osascript) is code signed with entitlements 59:60: syntax error: Expected “"” but found unknown token. (-2741)

Se togli le barre retroverse, osascript eseguirà il comando, ma ovviamente il titolo della finestra personalizzata non verrà impostato.

C'è un modo per ottenere intatto il mio comando bash attraverso il parser di osascript, in modo che possa avere il mio comando ping eseguito nella propria finestra E con un titolo di finestra personalizzato?

    
posta Jeremy Friesner 01.04.2014 - 01:12
fonte

1 risposta

3

Poiché sta attraversando un altro livello di interpretazione, devi sfuggire alle escape: in sostanza, devi raddoppiare le barre retroverse:

osascript -e 'tell app "Terminal" to do script "echo -n -e \\033]0\;My Custom Window Title Here\\007 ; ping www.google.com"'
    
risposta data 01.04.2014 - 05:22
fonte

Leggi altre domande sui tag