Linux 環境では、ウィンドウの改行文字を Linux の改行文字に置き換えます。

1. エラーメッセージ:

bash: $'\r': command not found
bash: $'\r': command not found
bash: $'\r': command not found
/etc/bash.bashrc: line 1: $'return\r': command not found
/etc/bash.bashrc: line 2: $'\r': command not found
/etc/bash.bashrc: line 7: $'\r': command not found
/etc/bash.bashrc: line 18: $'\r': command not found
/etc/bash.bashrc: line 37: $'\r': command not found
bash: $'\E[0': command not found
bash: $'31m\r': command not found
bash: _____: command not found
bash: eval: line 26: syntax error near unexpected token `_'

次に、エラーの原因:

この理由は、スクリプトがウィンドウ上で編集されており、改行が widnow では \r\n、linux では \n であるためです。
Linux環境のデフォルトの改行は「\n」であるため、Windowsの改行である「\r」はLinux環境では認識されません。

3、エラーを解決するには:

この問題を解決するには 2 つの方法があります。

1. 実行するスクリプトを入力します

改行を UNIX モードに設定する

スクリプトを Linux 上に置き、vim を使用してスクリプトを開き、:set ff=unix コマンドを実行します (実行後は :wq を使用して保存することを忘れないでください)。

#=> vim docker-test.sh
#=> :set ff=unix			
#=> :wq
2. dos2unix プラグイン変換機能を利用する
1) Linux 環境に入ってコンポーネントをインストールします
apt-get install dos2unix
2) 実行対象ディレクトリでプラグインコマンドを実行します。
dos2unix *
3) ディレクトリ内の .py ファイル内の改行文字を一括置換します。
sudo find /home/test -name "*.py" | xargs dos2unix
sudo find /home/test -name/* | xargs dos2unix

おすすめ

転載: blog.csdn.net/TFATS/article/details/120078166