在工作的时候,由于会在Windows下创建了一个shell脚本,然后拷贝到服务器上调试运行的时候,结果出现下面的报错:
我们使用cat命令看一下分别在Windows和Linux下创建相同的shell脚本内容:
结果发现这两个脚本的内容是一样的,没错。接着使用cat -A 命令显示所有的内容:
我们发现,原来在linux下标准的换行符为$,而在windows下的换行符为^MS。所以我们在使用windows下生成的shell脚本拷贝到linux下执行时出现了不能识别的错误:^M bad interpreter。
所以,解决办法是把windows下的^MS换成linux下的$(当前我的这个简单程序只有这一个差别)
但是这种一般不要我们手动去修改,因为linux一般会有一个dos2unix的转换命令,如果没有可以安装,例如,在ubuntu下,可以使用sudo apt-get install dos2unix安装:
然后,可以使用如下命令直接进行转换了:
执行成功,完美_-_