什么是^ M以及如何生成?

问题描述 投票:-1回答:1

最近,有人(正在使用Windows10)问我,他的VSCode的远程(ssh)连接不可用。经过一堆检查,我发现他的~/.ssh/authorized_keys“ ^ M”结尾(在Vim中),删除该符号可以解决他的问题。

修改/删除“ ^ M”很容易。但是这次我想弄清楚什么是“ ^ M”以及它是如何产生的?知道其生成方式将有助于人们避免生成“ ^ M”和相关问题。

vim line-endings
1个回答
1
投票

^M是Vim的ASCII 13(M是字母表的第13个字母)的表示,回车。 ssh假定文件将使用Unix行结尾,因此它将DOS文件中CR / LF对的CR视为常规字符,而不是将其视为行终止符。删除^ M实际上会将文件从DOS文本文件转换为ssh期望的POSIX文本文件。

© www.soinside.com 2019 - 2024. All rights reserved.