Linux脚本文件在windows 环境下打开后,文件中每行末尾会添加^M, 将shell文件拷贝到Linux环境下,执行时,老会报错。
其实并没什么奇怪的,出现这种错误的原因是因为Linux和Windows文本文件的行结束标志不同。
在Linux中,文本文件用"\n"表示回车换行,而Windows用"\r\n"表示回车换行。所以在Linux中使用Windows的文本文件常常会出现错误。
为了避免这种错误,Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos,dos2unix把"\r\n"转化成"\n",unixtodos把"\n"转化成"\r\n"。
为了匹配Linux的文件每行末尾的格式, 使用命令 dos2unix 就可以解决。格式为:dos2unix filename
dos2unix 命令 是一个很简单的命令.功能是将DOS/MAC下的文件转化为UNIX的文本文件格式.
dos2unix, unix2dos 用来实现 DOS <=> UNIX text file 转换