PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
执行shell脚本时提示bad interpreter:No such file or directory的解决办法
2019-7-14 菜鸟站长
故障现象:在终端直接cd /var正常,在shell脚本中执行则报错。原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行

出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来。



问题分析:

1、将windows 下编写好的SHELL文件,传到linux下执行,提示出错。

2、出错信息:bad interpreter: 没有那个文件或目录。



问题原因:

因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。脚本文件是DOS格式的

即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.



解决方法:

可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的

(1) vim filename

然后用命令 :set ff

可看到dos或unix的字样,如果的确是dos格式的, 那么用set ff=unix把它强制为unix格式的,,然后存盘退出后就可运行。

(set ff=unix : 告诉 vi 编辑器,使用unix换行符,个人使用以上方法解决,简单方便,推荐此方式)
评论:
36加盟网
2019-10-27 20:49 回复
在遇到问题的时候可以查阅一下,现在不会就百度还是很容易解决的。
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容