Pesan kesalahan menunjukkan bahwa skrip yang Anda panggil memiliki \r
karakter yang disematkan , yang pada gilirannya menunjukkan bahwa ia memiliki akhiran baris gaya Windows\r\n
daripada yang diharapkan \n
-hanya akhir baris bash
.
Sebagai perbaikan cepat , Anda dapat menghapus \r
karakter. sebagai berikut:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Catatan: $'...'
string adalah ANSI-C string dikutip didukung dalam bash
, ksh
, dan zsh
. Ini digunakan untuk memastikan bahwa \r
ekspansi ke karakter CR aktual sebelum sed
melihat skrip, karena tidak semua sed
implementasi itu sendiri mendukung \r
sebagai escape sequence.
lalu lari
./install.Unix.sh --clang-completer
Namun, pertanyaan yang lebih besar adalah mengapa Anda berakhir dengan \r\n
file -style - kemungkinan besar, file lain juga terpengaruh.
Mungkin Anda menjalankan Git di Windows , di mana konfigurasi tipikal adalah untuk mengonversi \n
jeda baris gaya Unix menjadi \r\n
jeda baris gaya Windows saat memeriksa file dan mengonversi ulang menjadi \n
-hanya baris saat melakukan .
Meskipun ini masuk akal untuk pengembangan di Windows, ini menghalangi skenario penginstalan seperti ini.
Untuk membuat Git memeriksa file dengan akhiran file bergaya Unix di Windows - setidaknya untuk sementara - gunakan:
git config --global core.autocrlf false
Kemudian jalankan git clone
lagi perintah instalasi Anda .
Untuk memulihkan perilaku Git nanti, jalankan git config --global core.autocrlf true
.
find . -type f -exec dos2unix {} \;