त्रुटि संदेश से पता चलता है कि आपके द्वारा लिखी गई स्क्रिप्ट में एम्बेडेड \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।