错误示例
前两天自己写了一个java小demo,从windows上传了一个到linux上执行脚本运行,出现如下错误:$’\r’: command not found
- [root@cvm-3hqv95i28a225 ~]# sh /data/bin/startup.sh
- startup.sh: line 2: $'\r': command not found
原因分析
通过错误信息知道无法执行\r. ,确定写脚本时没有加入这个字符 。这是windows与Unix文本编辑的默认格式不同造成的 ,需要转成unix格式。
解决分析
方案一:使用dos2unix命令转化脚本
安装dos2unix工具
- [root@cvm-3hqv95i28a225 ~]# yum -y install dos2unix*
执行命令,修改脚本格式
- [root@cvm-3hqv95i28a225 ~]# dos2unix /data/bin/startup.sh
- dos2unix: converting file start.sh to Unix format ...
再次运行脚本文件,即可成功。
方案二:使用vim编辑脚本转化
- [root@cvm-3hqv95i28a225 ~]# vim /data/bin/startup.sh
- # 可以利用以下命令 :set ff 或者 :set fileformat
- # 当执行:set ff或者:set fileformat会出现fileformat=unix或者是fileformat=dos
- # :set ff=unix 或者 :set fileformat=unix
- # :wq! 保存并退出
再次执行脚本,即可成功运行。

微信公众号
博客微信公众号,欢迎关注。
2021年1月22日 下午12:00 4F
直接Linux开发,就没有编码问题了,嘿嘿
2021年1月23日 下午3:46 B1
@ 珂泽 还没准备好,目前Windows上有几款软件没在Linux平台上找到替代的。
2021年1月19日 上午10:56 3F
我一般都是编辑的时候注意保存为LF换行格式
2021年1月23日 下午3:45 B1
@ 心灵博客 目前还没养成习惯,不过这个脚本用的挺爽的,一个命令就能解决问题。
2021年1月18日 下午9:47 2F
打卡
2021年1月16日 下午3:51 1F
路过,点个赞,竟然发现没有设置点赞!唉!
2021年1月16日 下午3:54 B1
@ 明月登楼 点赞功能有点浪费数据库存储,本来就没多大
。哈哈。
2021年1月24日 下午8:08 B2
@ 萧瑟 点赞评论都浪费数据库,但有了他们博客才好玩
2021年1月25日 下午8:43 B3
@ 小王先森 我比较节俭。