Hata mesajı, çağırdığınız betiğin gömülü \r
karakterlere sahip olduğunu ve bu da -only satır sonlarının beklediği yerine Windows tarzı \r\n
satır sonlarının bulunduğunu gösterir .\n
bash
Hızlı bir çözüm olarak , \r
karakterleri kaldırabilirsiniz . aşağıdaki gibi:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Not: $'...'
dize bir olduğunu alıntılanan dize ANSI-C desteklenir bash
, ksh
ve zsh
. Komut dosyasını \r
görmeden önce gerçek bir CR karakterine genişlemesini sağlamak için kullanılır sed
, çünkü tüm sed
uygulamaların kendisi \r
bir kaçış dizisi olarak desteklemez .
ve sonra koş
./install.Unix.sh --clang-completer
Bununla birlikte, asıl soru, neden \r\n
-stilli dosyalara sahip olduğunuzdur - büyük olasılıkla, diğer dosyalar da etkilenir.
Belki de Git'i Windows üzerinde çalıştırıyorsunuzdur , burada tipik bir konfigürasyon Unix \n
tarzı \r\n
satır sonlarını, dosyaları teslim\n
alırken ve taahhütte yalnızca satır sonlarına yeniden dönüştürürken Windows stili satır sonlarına dönüştürmektir .
Bu , Windows üzerinde geliştirme için mantıklı olsa da , bunun gibi kurulum senaryolarının önüne geçer .
To Git Windows üzerinde Unix tarzı dosya sonları ile dosya kontrol yapmak en azından geçici olarak - - kullanım:
git config --global core.autocrlf false
Sonra git clone
tekrar içeren kurulum komutlarınızı çalıştırın .
Git'in davranışını daha sonra geri yüklemek için çalıştırın git config --global core.autocrlf true
.
find . -type f -exec dos2unix {} \;