如果是在windows下编辑的脚本,到了linux下运行时会报出这样的错误/bin/bash^M:bad interpreter: No such file or directory这时因为编码的问题,需要进行编码转换.使用sudo vim xxx打开文件,:set ff可以看到当前的格式,应该是dos,使用set ff=unix,更改其格式,然后保存退出,就能正常的运行程序了
在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash以上两种方式有什么区别?对于脚本的实际运行会产生什么不同的影响吗? 脚本test.sh内容:#!/bin/shsource pcy.sh #pcy.sh并不存在echo hello执行./test.sh,屏幕输出为:./test.sh: line 2: pcy.sh: No such file or directory由此
刚刚学习SHELL 写了一个简单的例子发生如下错误 -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory VI打开文件,没发现任何问题, 把/bin/bash改成/bin/sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory 依然报错,脚本内容在VI下没有任何问题,仔细一看错误消息,^M..明显在第一行末尾被
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 或提醒 syntax error: unexpected end of file 出现上面错误的原因之中的一个是脚本文件是DOS格式的, 即每一行的行尾以\
问题: 偶然使用 windows 进行编写脚本.使用 wsl (windows subsystem for linux) 进行运行的时候,什么事情没有.但是当把脚本移植到远程服务器进行运行的时候,发现脚本执行出现了错误:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory .一时间解决不了.理论上都使用wsl 执行过了,应该是没问题了.但是通过查找资料发现,确实是有问题: 思考: 应该是就是wind