首先我会说我已经阅读了这篇文章,但是我仍然对CR line terminators
.
有一个名为 的文件build_test.sh
,我在其中进行了编辑,leafpad
它可以直接显示在Vim
:
cp ~/moonbox/llvm-2.9/lib/Transforms/MY_TOOL/$1 test.cpp
cd ~/moonbox/llvm-obj/tools/TEST_TOOL/
make
make install
cd -
然而:
- 使用它什么也没
cat build_test.sh
输出。 - 使用
more build_test.sh
它输出:cd - install/llvm-obj/tools/TEST_TOOL/Y_TOOL/$1 test.cpp
- 使用
less build_test.sh
它输出:cp ~/moonbox/llvm-2.9/lib/Transforms/MY_TOOL/$1 test.cpp^Mcd ~/moonbox/llvm-obj/tools/TEST_TOOL/^Mmake^Mmake install^Mcd -
结果file build_test.sh
是:
build_test.sh: ASCII text, with CR line terminators
在这篇文章之后,^M
不再存在但是没有更多的换行符:-(现在
的结果file build_test_no_cr.sh
是:
build_test_nocr.sh: ASCII text, with no line terminators
解决方案可以在这里看到。
但是我仍然想知道为什么cat
什么都不显示并且more
显示如此奇怪的结果。此外,为什么dos2unix
和set fileformat=unix
在 Vim 中失败了这种情况。
ps:我想也许我的编辑器(Vim或Leafpad?)只生成换行符。怎么会这样?\r
\n