<strike id="j6ksu"></strike>
<th id="j6ksu"></th>
  1. <th id="j6ksu"></th>

    Linux系统执行shell脚本提示^M报错问题解决

    Java基础 潘老师 4周前 (10-26) 89 ℃ (0) 扫码查看

    最近在Liunx系统执行在windows上编写的shell脚本时提示执行失败,具体提示如下:

    遇到这类问题,解决方案也很简单,下面潘老师来说下该如何去解决。

    问题原因

    DOS/Windows里,文本文件的换行符为\r\n,而在Linux系统里则为\n,所以DOS/Windows里编辑过的文本文件到了Linux里,每一行都多了个^M,从而导致运行shell脚本报错。

    解决方法1:windows本地解决

    从问题的根源解决就是在windows上编写shell脚本时,比如潘老师这里时使用Notepad++进行编辑的,需要对shell脚本文件设置如下:
    1)设置编码为无BOM的UTF-8格式
    Linux系统执行shell脚本提示^M报错问题解决
    2)设置右下角系统类型为Unix
    Linux系统执行shell脚本提示^M报错问题解决
    这样操作之后保存就解决了。

    解决方法2:Linux系统上解决

    1)编辑重设编码

    编辑文件,然后使用set指令设置系统格式为unix

    # 编辑
    vi xxx.sh
    #esc退出执行
    :set ff=unix
    #再esc保存退出
    :wq
    

    一般这样操作过后就解决了,如果还不能解决就尝试下下面这个方法:

    2)替换^M

    #替换\r字符
    sed -i 's/\r$//' xxx.sh
    #如果有^M字符
    sed -i 's/^M//g' xxx.sh
    

    以上几种方法,基本就能解决Linux系统执行shell脚本提示^M报错的问题,如还有疑问可以留言讨论。


    版权声明:本站所有文章,如无特殊说明,均为本站原创。全部下载资源版权归原作者所有。任何个人或组织,若未征得本站同意,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。若需转载请注明文章来源。
    本文链接:Linux系统执行shell脚本提示^M报错问题解决
    喜欢 (0)
    请潘老师喝杯Coffee吧!】
    分享 (0)
    用户头像
    发表我的评论
    取消评论
    表情 贴图 签到 代码

    Hi,您需要填写昵称和邮箱!

    • 昵称【必填】
    • 邮箱【必填】
    • 网址【可选】

    您也可以 微信登录 来发表评论!

    韩国毛茸茸的丰满妇女