Tengo este código para traducir una palabra del / al inglés / español:
S=`/usr/local/bin/trans -b -id -no-ansi "$a" | grep Code | awk '{print $2}'`
if [ "$S" = "en" ]; then T=es; else T=en; fi
/usr/local/bin/trans -b :"$T" "$a"
( transes de https://github.com/soimort/translate-shell/ )
Ejecutar el script directamente en Terminal (bash) funciona muy bien.
Pero cuando trato de usarlo en Automator, aparece este error:
/usr/local/bin/trans: line 5073: gawk: command not found
Correr gawken la Terminal también funciona bien.
ACTUALIZACIÓN : Gracias al solucionador a continuación, el script de trabajo final para el automatizador es:
PATH=$PATH:/usr/local/bin
S=`/usr/local/bin/trans -b -id -no-ansi "$@" | grep Code | awk '{print $2}'`
if [ "$S" = "en" ]; then T=es; else T=en; fi
/usr/local/bin/trans -b :"$T" "$@"

grepes fácil de arreglar; reemplazargrep x | awk '{y}'conawk '/x/ {y}'Respuestas:
El valor predeterminado que se
PATHpasa a la acción Ejecutar script de shell en Automator es:Siempre agrego un
PATH=..., donde...está el realPATHutilizado en la Terminal, a la parte superior de la acción Ejecutar script de Shell en Automator.O bien, debe agregar el nombre de ruta completo de cualquier ejecutable a la línea de comando que no se encuentra en el valor predeterminado
PATHpasado a la acción Ejecutar script de shell en Automator.La última línea en el
transscript esgawk -f <(echo -E "$TRANS_PROGRAM") - "$@"y, a menos quegawkesté en elPATHpaso predeterminado , deberá agregar la ubicacióngawkalPATHpaso a la acción Ejecutar script de Shell en Automator, o agregar el nombre de ruta completo algawkcomando al final deltransguión .En Terminal, use
which gawkpara obtener su ruta, por ejemplo:En
trans, cambio:A:
O en la acción Ejecutar script de shell en Automator, por ejemplo:
O use el
PATHde la salida deecho $PATHen Terminal.fuente
which gwakpero el sitio no me permite cambiar menos de 6 caracteres.