Saya memiliki kode ini untuk menerjemahkan kata dari / ke bahasa Inggris / Spanyol:
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"
( trans
berasal dari https://github.com/soimort/translate-shell/ )
Menjalankan skrip langsung di Terminal (bash) berfungsi dengan baik.
Tetapi ketika saya mencoba menggunakannya di Automator, saya mendapatkan kesalahan ini:
/usr/local/bin/trans: line 5073: gawk: command not found
Menjalankan gawk
di Terminal juga berfungsi dengan baik.
PEMBARUAN : Terima kasih kepada pemecah di bawah ini, skrip akhir untuk automator yang berfungsi adalah:
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" "$@"
grep
mudah diperbaiki; gantigrep x | awk '{y}'
denganawk '/x/ {y}'
Jawaban:
Default
PATH
diteruskan ke Run Shell Script aksi di Automator adalah:Saya selalu menambahkan
PATH=...
, mana...
adalah yang sebenarnyaPATH
digunakan dalam Terminal, ke atas Run Shell Script aksi di Automator.Atau Anda harus menambahkan pathname yang memenuhi syarat dari setiap executable ke baris perintah yang tidak default
PATH
diteruskan ke Run Shell Script aksi di Automator.Baris terakhir dalam
trans
naskah adalahgawk -f <(echo -E "$TRANS_PROGRAM") - "$@"
dan kecualigawk
dalam defaultPATH
lulus Anda harus menambahkan lokasigawk
kePATH
Anda lulus ke Run Shell Script aksi di Automator, atau menambahkan nama path yang memenuhi syarat dengangawk
perintah pada akhirtrans
Script .Di Terminal gunakan
which gawk
untuk mendapatkan jalurnya, misalnya:Di
trans
, ubah:Untuk:
Atau di Run Shell Script aksi di Automator, misalnya:
Atau gunakan
PATH
dari outputecho $PATH
di Terminal.sumber
which gwak
tetapi situs tidak akan membiarkan saya mengubah kurang dari 6 karakter.