1.^M格式错误
这和Linux与Windows断行格式有关。DOS (Windows 系统)使用的断行字符为 ^M$ ,我们称为 CR 与 LF 两个符号。 而在 Linux 底下,则是仅有 LF ($) 这个断行符号。
在 Linux 底下打开Windows的档案时,由于 DOS 的断行符号是 CRLF ,就会多了一个 ^M 的符号出来。
在这样的情况下,如果是一个 shell script 的程序档案,将可能造成“程序无法执行”的状态~ 因为他会误判程序所下达的指令内容。
可以使用dos2unix来转换:
dos2unix file