在计算机中打印完一行字符后,会在每行后面添加表示结束的字符,也就是回车和换行。
回车:表示把打印头定位到左边界。
换行:表示打印头向下移一行。
但是,不同的操作系统中,表示结束的字符又不一样:
windows系统中,每行结尾是:<回车><换行>,即“\r\n”。
unix/linux系统中,每行结尾是:<换行>,即“\n”。
mac系统中,每行结尾是:<回车>,即“\r”。
这样导致的后果是:
unix/linux/mac系统下的文件在windows打开的话,所有的字符都变成一行。
windows系统下的文件在unix/linux/mac打开的话,每行的结尾可能会多出一个^M符号。
所以有时在windows上编写的shell脚本,在linux中无法执行,报找不到命令的错误,是因为每行后面多了“\r”字符。