如果脚本文件具有CRLF行结尾,则在文件名后面附加U+F00D字符



当尝试在基于wslbash中运行简单脚本时:

echo 00000 >my_file
cat my_file
my_file

输出文件名的末尾会附加一个奇怪的字符,看起来像windows下的大圆点!!

经过一些研究,该字符被确定为U+F00D(chr 61453(,进一步的研究表明,只有当脚本文件具有CRLF行结尾时才会发生这种情况,而当使用LF行结尾时则不会发生这种情况。

我的问题是,这种行为背后的原因是什么?

Windows端调查显示文件名后面附加了一个U+F00D(61453(字符。但来自空壳方面的进一步调查显示,该文件以的名称存储

'my_file'$'r'

同时具有行尾字符和预期的额外回车!(正如另一个人暗示的那样(与窗户边的东西完全不同。

最新更新