您现在的位置是:网站首页 > 心得技巧 > 编程技巧编程技巧

【原】执行shell脚本报错“$'\r': command not found”的原因及解决方案

不忘初心 不忘初心 2019-10-08 围观() 评论() 点赞() 编程技巧

简介:在测试jenkins自动部署远程tomcat时,执行在目标linux上编写好的shell脚本时出现“$'\r': command not found”,但是我仔细检查了脚本,报错对应行的位置只是一个空行,并没有问题,那么linux为什么会将一个回车的空行报错?

在测试jenkins自动部署远程tomcat时,执行在目标linux上编写好的shell脚本时出现“$'\r': command not found”,但是我仔细检查了脚本,报错对应行的位置只是一个空行,并没有问题,那么linux为什么会将一个回车的空行报错?

执行shell脚本报错“$'\r': command not found”的原因及解决方案

问题原因:

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

解决方案:

1、若报错的地方改动很小,可以直接手动编辑一下;

2、文件太多,又不想一个个的改,那就安装 dos2unix 来解决(推荐此方式);

CentOS:

1、yum -y install dos2unix

2、dos2unix 文件名

Ubuntu:

1、sudo apt-get install tofrodos

2、fromdos 文件名

linuxshell

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们