Linux 运行脚本出现 command not found 错误

2021年1月12日22:30:28 9 37 707字阅读2分21秒

错误示例

前两天自己写了一个java小demo,从windows上传了一个到linux上执行脚本运行,出现如下错误:$’\r’: command not found

  1. [root@cvm-3hqv95i28a225 ~]# sh /data/bin/startup.sh
  2. startup.sh: line 2: $'\r': command not found

Linux 运行脚本出现 command not found 错误

原因分析

通过错误信息知道无法执行\r. ,确定写脚本时没有加入这个字符 。这是windows与Unix文本编辑的默认格式不同造成的 ,需要转成unix格式。

解决分析

方案一:使用dos2unix命令转化脚本

安装dos2unix工具

  1. [root@cvm-3hqv95i28a225 ~]# yum -y install dos2unix*

执行命令,修改脚本格式

  1. [root@cvm-3hqv95i28a225 ~]# dos2unix /data/bin/startup.sh
  2. dos2unix: converting file start.sh to Unix format ...

再次运行脚本文件,即可成功。

方案二:使用vim编辑脚本转化

  1. [root@cvm-3hqv95i28a225 ~]# vim /data/bin/startup.sh
  2. # 可以利用以下命令 :set ff 或者 :set fileformat
  3. # 当执行:set ff或者:set fileformat会出现fileformat=unix或者是fileformat=dos
  4. # :set ff=unix    或者  :set fileformat=unix
  5. # :wq! 保存并退出

再次执行脚本,即可成功运行。

weinxin
微信公众号
博客微信公众号,欢迎关注。
avatar
  • 本文由 发表于 2021年1月12日22:30:28
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接。
稳定云服务器,香港VPS_美国VPS,高防服务器 稳定云服务器,香港VPS_美国VPS,高防服务器 硅云免费虚拟主机
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:9   其中:访客  5   博主  4
    • avatar 珂泽 2

      直接Linux开发,就没有编码问题了,嘿嘿

        • avatar 萧瑟

          @ 珂泽 还没准备好,目前Windows上有几款软件没在Linux平台上找到替代的。 :mrgreen:

        • avatar 心灵博客 4

          我一般都是编辑的时候注意保存为LF换行格式

            • avatar 萧瑟

              @ 心灵博客 目前还没养成习惯,不过这个脚本用的挺爽的,一个命令就能解决问题。 :mrgreen:

            • avatar zeruns 4

              打卡

              • avatar 明月登楼 2

                路过,点个赞,竟然发现没有设置点赞!唉!

                  • avatar 萧瑟

                    @ 明月登楼 点赞功能有点浪费数据库存储,本来就没多大 :???: 。哈哈。