ऑटोमेटर के भीतर काम नहीं कर रहे शेल स्क्रिप्ट का अनुवाद करें


3

मेरे पास इस कोड को / से अंग्रेजी / स्पेनिश में एक शब्द का अनुवाद करने के लिए है:

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 से है https://github.com/soimort/translate-shell/ )

टर्मिनल (बैश) में सीधे स्क्रिप्ट चलाना बहुत अच्छा काम करता है।

लेकिन जब मैं इसे ऑटोमेटर में उपयोग करने की कोशिश करता हूं, तो मुझे यह त्रुटि मिलती है:

/usr/local/bin/trans: line 5073: gawk: command not found

चल रहा है gawk टर्मिनल में भी ठीक काम करता है।


अद्यतन करें : नीचे सॉल्वर के लिए धन्यवाद, ऑटोमेकर के लिए अंतिम कार्य स्क्रिप्ट है:

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" "$@"

1
का बेकार उपयोग grep ठीक करना आसान है; बदलने के grep x | awk '{y}' साथ में awk '/x/ {y}'
tripleee

जवाबों:


3

डिफ़ॉल्ट PATH रन शैल स्क्रिप्ट को पारित कर दिया कार्य स्वचालक में है:

/usr/bin:/bin:/usr/sbin:/sbin

मैं हमेशा एक जोड़ देता हूं PATH=..., कहा पे ... वास्तविक है PATH टर्मिनल में उपयोग किया जाता है, रन शैल स्क्रिप्ट के शीर्ष पर कार्य , ऑटोमेटर में।

या आपको किसी भी निष्पादन योग्य के पूर्ण योग्य पथनाम को कमांड लाइन में जोड़ना होगा जो डिफ़ॉल्ट में नहीं है PATH रन शैल स्क्रिप्ट को पारित कर दिया कार्य , ऑटोमेटर में।


में अंतिम पंक्ति trans लिपि है gawk -f <(echo -E "$TRANS_PROGRAM") - "$@" और जब तक नहीं gawk डिफ़ॉल्ट में है PATH आपको स्थान जोड़ने की आवश्यकता होगी gawk को PATH आप रन शैल स्क्रिप्ट को पास करते हैं कार्य , ऑटोमेटर में, या पूरी तरह से योग्य पथनाम जोड़ने के लिए gawk के अंत में कमांड trans लिपि

टर्मिनल उपयोग में which gawk अपना रास्ता पाने के लिए, उदा .:

which gawk
/usr/local/bin/gawk

में trans, परिवर्तन:

gawk -f <(echo -E "$TRANS_PROGRAM") - "$@"

सेवा मेरे:

/usr/local/bin/gawk -f <(echo -E "$TRANS_PROGRAM") - "$@"

या रन शैल स्क्रिप्ट में कार्य स्वचालित में, उदा .:

PATH=$PATH:/usr/local/bin

या का उपयोग करें PATH के आउटपुट से echo $PATH टर्मिनल में।


बहुत खुबस! धन्यवाद! अपने टाइपो को ठीक करने की कोशिश की which gwak लेकिन साइट मुझे 6 अक्षरों से कम नहीं बदलने देगी।
Ze'ev

@ Ze'ev आज सुबह कॉफी नहीं थी, मैंने इसे ठीक किया, धन्यवाद।
user3439894
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.