1. ホーム

解決方法:コマンドが見つかりません。

2022-02-14 17:33:11
<未定義 <パス

原点

LinuxシステムでShellスクリプトを実行すると、以下のエラーが発生します。

one-more.sh: line 1: $'\r': command not found


このエラーは、Windows用のシェルスクリプトが、各行の末尾を \r\n 一方、Linux システムでは、行は \n ということで、Linuxでスクリプトを実行すると、次のようになります。 \r が文字であるため、実行時エラーとなります。

解決方法

シェルスクリプトの \r 文字を使用します。

方法1

sed -i 's/\r//' one-more.sh

dos2unix one-more.sh


方法2

dos2unix: converting file one-more.sh to Unix format ...


出力は次のようになります。

-bash: dos2unix: command not found


以下のエラーが発生した場合。

dos2unix

説明 yum install -y dos2unix まだインストールされていませんので、以下のコマンドを実行してインストールしてください。

Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. install yum-cron? or run: yum makecache fast
base | 3.6 kB 00:00:00     
extras | 2.9 kB 00:00:00     
salt | 2.9 kB 00:00:00     
updates | 2.9 kB 00:00:00     
Determining fastest mirrors
Resolving Dependencies
---> Running transaction check
---> Package dos2unix.x86_64 0:6.0.3-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================== =========================================================================================================
 Package Arch Version Repository Size
================================================================================================================================== =========================================================================================================
Installing:
 dos2unix x86_64 6.0.3-7.el7 base 74 k

Transaction Summary
================================================================================================================================== =========================================================================================================
Install 1 Package

Total download size: 74 k
Installed size: 190 k
Downloading packages:
dos2unix-6.0.3-7.el7.x86_64.rpm | 74 kB 00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : dos2unix-6.0.3-7.el7.x86_64 1/1 
  Verifying : dos2unix-6.0.3-7.el7.x86_64                                                                                                              

出力は次のようになります。

Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. install yum-cron? or run: yum makecache fast
base | 3.6 kB 00:00:00     
extras | 2.9 kB 00:00:00     
salt | 2.9 kB 00:00:00     
updates | 2.9 kB 00:00:00     
Determining fastest mirrors
Resolving Dependencies
---> Running transaction check
---> Package dos2unix.x86_64 0:6.0.3-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================== =========================================================================================================
 Package Arch Version Repository Size
================================================================================================================================== =========================================================================================================
Installing:
 dos2unix x86_64 6.0.3-7.el7 base 74 k

Transaction Summary
================================================================================================================================== =========================================================================================================
Install 1 Package

Total download size: 74 k
Installed size: 190 k
Downloading packages:
dos2unix-6.0.3-7.el7.x86_64.rpm | 74 kB 00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : dos2unix-6.0.3-7.el7.x86_64 1/1 
  Verifying : dos2unix-6.0.3-7.el7.x86_64