【发布时间】:2013-02-22 09:32:35
【问题描述】:
我有一个 Unix shell 脚本,它执行以下操作:
- 创建文件备份
- 将一些文本附加到文件中
现在在 #2 中,如果我插入一个文本,^M 会附加到文件的所有行上。
例如:
echo " a" >> /cust/vivek.txt
echo " b" >> /cust/vivek.txt
vi vivek.txt
abc^M
bcd^M
a^M
b^M
有什么办法可以避免吗?
【问题讨论】:
-
向我们展示脚本如何将文本附加到文件中
-
您是否在 Windows 机器上创建了这个文件,然后在 unix/linux 机器上传输它?在 MS-DOS 和 Linux/Unix 环境中,行尾的解释不同。在 MS-DOS 上,行结束由换行符和回车表示,而在 Unix 上,换行表示行结束。这会导致 ^M 字符,如果您不注意 MS-DOS 和 Unix/Linux 之间的传输模式
-
我只从 windows 机器复制了基本文件,现在有什么办法解决这个问题吗?