त्रुटि संदेश से पता चलता है कि आपके द्वारा लिखी गई स्क्रिप्ट में एम्बेडेड \r
वर्ण हैं , जो बदले में सुझाव देता है कि इसमें विंडोज शैली की \r\n
रेखा के बजाय \n
-ऑन लाइन अंत की bash
अपेक्षा है।
एक त्वरित सुधार के रूप में , आप \r
वर्ण हटा सकते हैं । निम्नलिखित नुसार:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
नोट: $'...'
स्ट्रिंग एक है एएनएसआई-सी उद्धृत स्ट्रिंग में समर्थित bash
, ksh
, और zsh
। इसका उपयोग यह सुनिश्चित करने के लिए किया जाता है कि स्क्रिप्ट देखने से \r
पहले एक वास्तविक सीआर चरित्र का विस्तार होता है sed
, क्योंकि सभी sed
कार्यान्वयन खुद \r
को एक एस्केप अनुक्रम के रूप में समर्थन नहीं करते हैं।
और फिर चला
./install.Unix.sh --clang-completer
हालाँकि, बड़ा सवाल यह है कि आपने \r\n
-स्टाइल फ़ाइलों को समाप्त क्यों किया है - सबसे अधिक संभावना है, अन्य फाइलें भी प्रभावित होती हैं।
शायद आप Windows पर Git चला रहे हैं , जहाँ एक विशिष्ट कॉन्फ़िगरेशन यूनिक्स-शैली- \n
लाइन को तोड़ने के लिए Windows- शैली \r\n
लाइन को तोड़ने के लिए फ़ाइलों की जाँच करने और पुन: परिवर्तित करने के लिए \n
-only लाइन टूटने पर प्रतिबद्ध है ।
जबकि यह विंडोज पर विकास के लिए समझ में आता है , यह इन जैसे इंस्टॉलेशन परिदृश्यों के रास्ते में हो जाता है ।
Git की जाँच करने के लिए विंडोज पर यूनिक्स-शैली की फाइल के साथ फाइल की जाँच करें - कम से कम अस्थायी रूप से - उपयोग:
git config --global core.autocrlf false
फिर अपने इंस्टॉलेशन कमांड्स को git clone
फिर से शामिल करें।
बाद में गिट के व्यवहार को बहाल करने के लिए, चलाएं git config --global core.autocrlf true
।