缘起
在Linux系统中,运行Shell脚本,出现了如下错误:
one-more.sh: line 1: $'\r': command not found
出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n
,而在Linux系统中行每行结尾是\n
,所以在Linux系统中运行脚本时,会认为\r
是一个字符,导致运行错误。
解决方法
去除Shell脚本的\r
字符:
方法1
sed -i 's/\r//' one-more.sh
方法2
dos2unix one-more.sh
输出如下:
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 1/1 Installed: dos2unix.x86_64 0:6.0.3-7.el7 Complete!标签:00,x86,64,command,6.0,解决,found,dos2unix,el7 From: https://www.cnblogs.com/A121/p/16974603.html