执行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脚本即可。

 

posted @ 2020-08-05 09:17  大树下的蚂蚁  阅读(1946)  评论(0编辑  收藏  举报