在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
如果是Notepad++则是在:编辑->EOLConversion->转换为UNIX格式中。
2)也可在Linux中转换:
首先要确保文件有可执行权限
#sh>chmoda+xfilename
然后修改文件格式
#sh>vifilename
利用如下命令查看文件格式
:setff或:setfileformat
可以看到如下信息
fileformat=dos或fileformat=unix
利用如下命令修改文件格式
:setff=unix或:setfileformat=unix
:wq(存盘退出)
最后再执行文件
#sh>./filename主要问题是 .sh文件的编码问题,文件内容的编码要转换成 转换为 UNIX 格式
相关推荐
yuzhongdelei0 2020-07-28
wadetutu 2020-06-09
服务器端攻城师 2020-02-24
vanturman 2020-02-01
Jieen 2020-01-08
treasurelifelhf 2013-07-24
NeverAgain 2019-12-12
Hwaphon 2019-11-25
sleep技术讨论区 2014-06-03
晴天哥 2011-09-02
wiseMale 2015-07-13
mwx 2011-06-29
sxl0 2007-09-10
wannagonna 2007-08-16
spylyt 2019-11-04
amorfait 2009-05-14
ameng 2019-10-26
doITwhat 2017-03-07
galoisgodel 2012-05-18