Al ejecutar un script desde el menú de scripts, ¿dónde se captura la salida de la consola?

1

Tengo un script de shell que deseo ejecutar desde el menú de scripts en la barra de menú. (Este es el menú que puede activar en las preferencias del Editor de secuencias de comandos). La secuencia de comandos funciona cuando lo ejecuto desde la Terminal, pero no funciona cuando lo ejecuto desde el menú de secuencias de comandos. Para solucionar el problema, me gustaría ver qué mensajes de error se están imprimiendo en la consola, pero no puedo encontrar el resultado de la consola.

No he podido encontrar ningún resultado de mi script en ninguna parte de la aplicación de la Consola. ¿Hay algún otro lugar que debería estar buscando?

    
pregunta Evan 09.02.2018 - 19:57

2 respuestas

1

Aquí hay un ejemplo.

A continuación se muestra el texto de mi script de shell llamado hither.sh . Como puede imaginar, el archivo nonexistant_file no existe.

echo hi there
ls nonexistant_file

El archivo hither.sh se almacena en la carpeta Mis documentos. Esto es ~/Documents . El AppleScript que he creado se muestra a continuación.

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

Guardé este AppleScript en el archivo ~/Library/Scripts/hithere.scpt . Cuando ejecuto este AppleScript desde la barra de menú, la salida de la consola de shell shell y el texto de error se redirigen al archivo ~/Documents/hithere.txt . A continuación se muestra el resultado resultante.

hi there
ls: nonexistant_file: No such file or directory
exit status = 1
    
respondido por el David Anderson 10.02.2018 - 19:23
1

Puedes intentar escribir tu comando y seguirlo con 2> filename.txt . Esto canalizará el error estándar (stderr) al archivo especificado.

    
respondido por el Matt 10.02.2018 - 08:05

Lea otras preguntas en las etiquetas