CentOS: $'\r': コマンドが見つかりません

1. 問題点

CentOS でスクリプトdeploy.sh を実行すると、エラー「$'\r': command not found」が報告されます
ここに画像の説明を挿入
理由: シェル スクリプトは Windows で作成され、ツール ソフトウェアを介して CentOS に転送されます。ただし、Windowsダウンリンクは \r\n 、Linux ダウンリンクの終了記号は \n です。この 2 つは異なるため、認識できないため変換する必要があります。

2、解決する

//执行sh  deploy.sh base,报错$'\r': command not found
sh  deploy.sh base

//1、dos2unix 脚本名,此处是dos2unix deploy.sh
//如果执行dos2unix deploy.sh报-bash:dos2unix:command not found,就使用yum install -y dos2unix 安装dos2unix
//如果执行成功,会报一个dos2unix: converting file deploy.sh to Unix format ...
dos2unix deploy.sh  

//2、安装dos2unix
yum install -y dos2unix

//3、再次执行dos2unix deploy.sh命令
//如果dos2unix deploy.sh执行成功,会报一个dos2unix: converting file deploy.sh to Unix format ...
//如果dos2unix deploy.sh执行成功后,再次执行sh  deploy.sh base还不行,依旧报 $'\r': command not found,就执行下面的sed命令


//4、sed -i 's/\r//' 脚本名
sed -i 's/\r//' deploy.sh

//5、再次执行sh  deploy.sh base
sh  deploy.sh base

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
上記の dos2unixdeploy.sh と sed -i 's/\r//'deploy.sh が正常に実行されたら、 shdeploy.shbase を再度実行します (ここでは上記の 5 に対応し、 shdeploy.shbase を再度実行します)。スクリプト コマンドの実行を開始し、プル、ビルド、実行、イメージとコンテナーの作成を行います。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

3. 参考文献

$'\r': コマンドが見つからない解決策

シェル スクリプト実行エラー $'\r': コマンドが見つかりません

Linux でシェル スクリプトを実行すると、「$'\r': コマンドが見つかりません」と表示されます。

Linux エラー: $'\r': コマンドが見つかりません

おすすめ

転載: blog.csdn.net/qyfx123456/article/details/131874240