从 Win 移至 Linux 后,我的文件中添加了“^M”

从 Win 移至 Linux 后,我的文件中添加了“^M”

我在 Win 8 上 [使用 sublime] 创建了一个 .txt 文件(其中复制了文本)并将其移动到运行 Linux 的 VM 中。

我曾经cat tmp.txt >> .bashrc将这些行附加到.bashrc^M每行末尾都添加了神秘的内容(sourch .bashrc失败后我才注意到)。

我删除了它们,现在没问题了,但它们是从哪里来的呢?

之前和之后的图像:在此处输入图片描述

答案1

简单的...

在 Windows 上,行尾实际上是用两个字符来处理的:ˆM(回车符)和 ˆJ(换行符)。
类 Unix 系统(如 Linux)只使用 ˆJ。
您在 Windows 上保存文件,Linux 会将 ˆM 显示为普通字符。
我从未使用过 Sublime,但它可能有一个在两种格式之间转换的选项,因此您只需从 Sublime 以 Unix 格式保存文件即可。
(事实上:大多数文本/程序员编辑器都有这样的选项。)

相关内容