エラーメッセージはことを示唆している、あなたが呼び出しているスクリプトが埋め込まれている\r
文字を順番にそれがあることを示唆している、Windowsスタイルの\r\n
行末の代わり\n
のみの行末のbash
を期待します。
簡単な修正として、\r
文字を削除できます。次のように:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
注:$'...'
文字列の引用符で囲まれた文字列は、ANSI-Cでサポートされているbash
、ksh
とzsh
。すべての実装自体がエスケープシーケンスとしてサポートしているわけではないため、スクリプトを表示\r
する前に実際のCR文字に展開されるようにするために使用されます。sed
sed
\r
その後、実行します
./install.Unix.sh --clang-completer
ただし、より大きな問題は、なぜ\r\n
スタイルファイルになってしまったのかということです。おそらく、他のファイルも影響を受けます。
おそらく、WindowsでGitを実行している場合、一般的な構成では、ファイルのチェックアウト時にUnixスタイル\n
のみの改行をWindowsスタイルの\r\n
改行に変換し、コミット時にのみの改行に再変換し\n
ます。
これはWindowsでの開発には意味がありますが、このようなインストールシナリオの邪魔になります。
ために作るGitはWindows上でUnix形式のファイル語尾を持つファイルをチェックアウト-少なくとも一時的に-使用します:
git config --global core.autocrlf false
次に、関連するインストールコマンドをgit clone
再度実行します。
後でGitの動作を復元するには、を実行しgit config --global core.autocrlf true
ます。