打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

        PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到Linux下再运行一次已确保能支持多平台。

        今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令:

  1. sudo ./build.sh  

但是却没有任何反应。于是我换了指令,用

  1. chmod u+x build.sh  
  2. ./build.sh  

报错 “build.sh  
/bin/bash^M: 坏的解释器:没有那个文件或目录”。 以前遇到这个问题,换了几种编译方法就解决了,单这次还是不行,于是又换:
bash build.sh

编译的时候报错 :


后来一想 \r 这个符号怎么出现的,于是各种百度,才知道原因可能是因为我在win下操作的时候,修改到了此文件。

        在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r

        用指令:

  1. sed -i 's/\r$//' build.sh  

        会把 build.sh 中的\r 替换成空白!

        再次编译!成功!!





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
第一个Shell脚本_Shell中文网
Linux与Bash -1 基础实操
Linux——Shell管理脚本(基础详解--精)
Shell: sh,bash,csh,tcsh等shell的区别
Linux脚本shell开头#!binbash和#!binsh功能及区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服