shell脚本在window中编辑出现错误

来源:互联网 发布:川普 知乎 编辑:程序博客网 时间:2024/05/21 19:49

今天了一个shell脚本,因为使用的sshfs远程连接的linux服务器,在window上编辑完成之后,进行保存,然后在linux运行时候报错。
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
但是这种错误在vi 编辑器打开时候,看不出任何异常。于是就把#!/bin/bash改成了#!/bin/sh,但是再次运行还是出错。提示的错误是在这一句话中多了一个^M字符,但是我的确没有添加这个字符。
最后查证是windows下编辑器的问题。修正的方法如下:
1、用vi打开文件test.sh
然后使用命令:set ff?
可以看到dos和unix字样,如果确实是dos的格式的话,那么你可以使用命令set ff=unix把它强制改成unix的格式,然后保存盘退出。在运行一看就正常了。
2、可以使用dos2命令进行编码#dos2unix test.sh