在windows下使用Sublime3 Text编写Shell脚本,然后使用SecureFX将编写好的脚本文件上传到我的阿里云服务器,然后在服务器端修改文件权限为可执行后(chmod +x filename.sh
)然后运行shell脚本(./filename.sh
)然后报错信息如下:
/bin/bash^M: bad interpreter: No such file or directory
产生这个问题的愿意是,windows下编写的shell脚本是dos格式,而Linux系统执行的脚本是unix格式。
解决方法:
在shell脚本所在文件夹下使用vim filename.sh
命令进入编辑器。然后在vim编辑器中的命令行输入:set ff=unix
更改文件的类型,不确定修改完成否的,可以输入:set ff
查看shell脚本的类型,然后输入:wq
保存退出。最后在命令行输入./filename.sh
,就可以运行你写的脚本了(当然成功运行的前提是你的脚本中没有其他的语法错误。)