zoukankan      html  css  js  c++  java
  • -bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory

    问题:

           偶然使用 windows 进行编写脚本。使用 wsl (windows subsystem for linux) 进行运行的时候,什么事情没有。但是当把脚本移植到远程服务器进行运行的时候,发现脚本执行出现了错误:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory 。一时间解决不了。理论上都使用wsl 执行过了,应该是没问题了。但是通过查找资料发现,确实是有问题:

    思考:

           应该是就是windows 中 CRLF 与 linux 或者Unix类系统中的 LF 之间的区别。这段时间听说,window 即将更正CRLF 这个换行。想必到时应该就没有上述的问题了。同时我们也可以证明发现。在windows subsystem for linux 中,其是兼容windows的 CRLF 的这种格式的。

    解决方法:

          1. 使用 vim/vi 中的 命令

    :set ff=unix
    

      2. 使用 bash 中的dos2unix 命令,来进行文件格式转换。这个操作可以在服务器上,也可以使用windows subsystem linux 完成。 如果系统中没有 dos2unix 工具,那么你可能需要使用 yum / apt / dnf / pacman 之类的 包管理软件,进行安装一下了。

    DESKTOP-05DDFQ6# dos2unix runmake.sh
    dos2unix: converting file runmake.sh to Unix format ...
    

     转载请注明出处. 2018年5月13日

     

  • 相关阅读:
    js获取网页屏幕可视区域高度
    vue 一键复制文本内容 clipboard
    uniapp 微信小程序分包优化
    通过vuecli命令行安装uniapp
    微信小程序跳转
    .net session丢失
    验证码识别技术研究(2)
    window环境下安装和卸载服务【转】
    formValidator onshowhtml is not define
    Ajax 跨域请求
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/dos2unix-wsl.html
Copyright © 2011-2022 走看看