【Linux】shell脚本执行错误 $‘\r‘:command not found

在这里插入图片描述

1.概述

在linux上执行脚本时出现$’\r’:command not found,然而仔细检查脚本,对应行位置只是一个空行,并没有问题,那么linux为什么会将一个回车的空行报错?

原因是这样的:脚本是在window下编辑完成后上传到linux上执行的,win下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题

2.解决方案1

yum install dos2unix
dos2unix 脚本名

在linux上执行 dos2unix 脚本名,再次执行脚本,报错消失。

3. 解决方案2

sed -i 's/\r//' 脚本名

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/109305582