执行shell脚本时报错“line 1: $'\r': command not found”的解决办法
例如,有shell脚本:pp.sh,且该脚本是在windows中编写或者从windows编辑软件中直接粘贴到Linux shell中,
执行命令如下:
./pp.sh
出现如下报错信息
问题原因:Windows、Linux和Mac OS中的换行符不同,即
linux,unix: \r\n
windows : \n
Mac OS : \r
解决方案:
方案1:
dos2unix pp.sh
如果没有安装dox2unix,安装即可,以ubuntu为例:
sudo apt install dos2unix
方案2:
vim pp.sh
通过:set ff 查看脚本格式,如果fileformat=dos,使用:set ff=unix更改脚本格式,后:wq!,再次执行该shell脚本即可。