Во-первых, я бы сказал, что прочитал this post, однако у меня все еще есть проблемы с 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 для новой строки. Как же так?