上传到服务器脚本执行报错
# ./build.sh
-bash: ./build.sh: /bin/sh^M: bad interpreter: No such fileor directory
分析:
这是由于在windows系统解压的压缩包文件或者在windows系统编辑脚步文件后上传到linux系统里才执行导致上述错误的。
这样上传导致.sh文件的格式为dos格式,而linux系统下可执行的格式是unix格式的脚本文件。
解决办法:
方式一:
通过Linux系统下默认编辑器vi,查看文件format格式,操作步骤:
1. 用vi命令打开文件
1# vi build.sh
2. 在vi命令模式中使用:set ff 命令,可以看到文件的格式为dos,结果为fileformat=dos。
3. 修改fileformat参数值为unix,执行:set ff=unix命令,执行后再通过:set ff命令查看文件格式,结果为fileformat=unix。
方式二:
直接执行dos2unix命令进行修改操作,注意的是dos2unix命令需要安装,不是linux系统自带命令
# dos2unix build.sh
dos2unix: converting filebuild.sh to UNIX format...
通过上述两种方式都可以修改可执行文件格式。
网友评论