2 votos

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

Tengo un script de shell que quiero ejecutar desde el menú de scripts en la barra de menú. (Este es el menú que se puede activar en el Editor de secuencias de Comandos de preferencias). El script funciona cuando se ejecuta desde la Terminal, pero no funciona cuando lo ejecuto desde el menú de scripts. Para depurar el problema, me gustaría ver qué mensajes de error de impresión de la consola -, pero no puedo encontrar la salida de la consola.

No he sido capaz de encontrar ninguna salida de mi script en cualquier lugar de la aplicación de Consola. ¿Hay algún otro lugar que debo estar buscando?

1voto

paul_sns Puntos 835

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

1voto

David Anderson Puntos 2189

Aquí es un ejemplo.

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

echo hi there
ls nonexistant_file

El hither.sh archivo se almacena en la carpeta mis Documentos. Este 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

He guardado este AppleScript para el archivo ~/Library/Scripts/hithere.scpt. Cuando ejecuto este AppleScript desde la barra de menú, la intérprete de comandos de la consola de salida y de error texto se redirige a la ~/Documents/hithere.txt archivo. A continuación es el resultado de salida.

hi there
ls: nonexistant_file: No such file or directory
exit status = 1

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X