您现在的位置是:网站首页>>服务器>>Linux

在linux上运行sh文件提示坏的解释器: 没有那个文件或目录解决

发布时间:2019-09-23 09:02:24作者:wangjian浏览量:60点赞量:0

    上个星期我写了一个定时器脚本,当时当我在Linux上运行时提示:

    -bash: /data/www/myblog/curl.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

    之前我在学习linux命令时就遇到过此类的问题,当时记录的时候只记录在具体出现的问题当中,找了半天终于找到,感觉找起来十分的麻烦,所以这里我把此问题单独拿出来记录下,方便下次出现此类问题可以快速的查找

    问题原因:

    当我们在window下编写脚本然后在上传到Linux上时,由于window上换行显示的为\n\r,然而在linux上换行显示应该为\n,所以在Linux下无法读取从window上传来的脚本

    问题解决:

    将\r替换成空,即如下:

    sed -i 's/\r$//' /data/www/myblog/curl.sh #/data/www/myblog/curl.sh表示你的脚本文件

    所以这里总结下当我们需要运行从window上传来的脚本步骤

    chmod a+x /data/www/myblog/curl.sh  #使脚本具有执行权限
    sed -i 's/\r$//' /data/www/myblog/curl.sh #解决window脚本报错问题
    /data/www/myblog/curl.sh #运行脚本


0 +1