बैश: अप्रत्याशित टोकन के पास सिंटैक्स त्रुटि `('


18

मैं भड़काउ डाउनलोड प्रबंधक को मैं भूल त्रुटि के माध्यम से डाउनलोड करने की कोशिश कर रहा हूँ

wget  http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz
bash: syntax error near unexpected token `('

वह त्रुटि क्यों आ रही है और उसका समाधान क्या है?


मुझे उसी फ़ाइल को प्राप्त करने का प्रयास करते समय एक ही त्रुटि मिली जो पासवर्ड से सुरक्षित थी। पासवर्ड में एक कोष्ठक था। मैंने त्रुटि से बचने के लिए दोहरे और एकल उद्धरण दोनों का उपयोग करने के लिए समाप्त कर दिया। उदाहरण: mypass="'HWNevtQW9o2s)f'" unzip -P $mypass myfile
जेसी मार्क

जवाबों:


22

आपको इस मामले में (और सामान्य रूप से) URL के आसपास एकल उद्धरण 'या दोहरे उद्धरण चिह्नों का उपयोग करना चाहिए ":

wget  'http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz'

अब से, आपको इस पद्धति का उपयोग सामान्य रूप से करना चाहिए जब आप एक स्ट्रिंग का उपयोग करते हैं जिसमें कमांड में तर्क के रूप में कोष्ठक होते हैं। ऐसा इसलिए है क्योंकि कोष्ठक का उपयोग शेल द्वारा समूहीकरण के लिए किया जाता है जैसे कि उन्हें किसी भी तरह से कमांड के लिए संचार नहीं किया जाता है। तो, बैश शेल आपको एक सिंटैक्स त्रुटि देगा:

$ echo some (parentheses)
bash: syntax error near unexpected token `('
$ echo 'some (parentheses)'
some (parentheses)

6

यह कोष्ठक के कारण है। आपको उन्हें इस तरह से भागने की जरूरत है:

wget  http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64\(stable\)_deb.tar.gz

अब यह काम करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.