Quando si esegue uno script dal menu degli script, dove viene catturato l'output della console?

1

Ho uno script di shell che voglio eseguire dal menu degli script nella barra dei menu. (Questo è il menu che puoi attivare nelle preferenze di Script Editor.) Lo script funziona quando lo eseguo da Terminal, ma non funziona quando lo eseguo dal menu degli script. Per eseguire il debug del problema, mi piacerebbe vedere quali messaggi di errore sta stampando sulla console, ma non riesco a trovare l'output della console.

Non sono stato in grado di trovare alcun output dal mio script in qualsiasi punto dell'app Console. C'è qualche altra cosa che dovrei cercare?

    
posta Evan 09.02.2018 - 19:57
fonte

2 risposte

1

Ecco un esempio.

Di seguito è riportato il testo per il mio script di shell denominato hither.sh . Come puoi immaginare, il file nonexistant_file non esiste.

echo hi there
ls nonexistant_file

Il file hither.sh è archiviato nella mia cartella Documenti. Questo è ~/Documents . L'AppleScript che ho creato è mostrato sotto.

set scriptName to "~/Documents/hithere"
set errorNumber to 0
try
    do shell script "source " & scriptName & ".sh &>" & scriptName & ".txt"
on error number errorNumber
end try
try
    do shell script "echo exit status = " & errorNumber & " >>" & scriptName & ".txt 2>&1"
end try

Ho salvato questo AppleScript nel file ~/Library/Scripts/hithere.scpt . Quando eseguo questo AppleScript dalla barra dei menu, l'output della console di script della shell e il testo dell'errore vengono reindirizzati al file ~/Documents/hithere.txt . Di seguito è riportato l'output risultante.

hi there
ls: nonexistant_file: No such file or directory
exit status = 1
    
risposta data 10.02.2018 - 19:23
fonte
1

Puoi provare a digitare il tuo comando e seguirlo con 2> filename.txt . In tal modo verrà reindirizzato l'errore standard (stderr) al file specificato.

    
risposta data 10.02.2018 - 08:05
fonte

Leggi altre domande sui tag