В соответствии с этим ответом 1,$!sort является версией в режиме ex-mode. Вы вводите ex-mode, набрав Q в обычном режиме. Нормальная версия этой команды - 1G!Gsort в соответствии с этим ответом SO. В противном случае, как говорит хаос, ! заставляет vim открывать оболочку и выполнять sort в ней (тем самым вызывая программу sort).
Вам нужно избегать символов ``, поскольку они означают «выполнить этот код». Так что строка должна выглядеть так:
DATE=\`date '+%y%m%d-%H%M'\`
Вам нужно избегать символов ``, поскольку они означают «выполнить этот код». Так что строка должна выглядеть так:
DATE=\`date '+%y%m%d-%H%M'\`
Вам нужно избегать символов ``, поскольку они означают «выполнить этот код». Так что строка должна выглядеть так:
DATE=\`date '+%y%m%d-%H%M'\`
cat << \EOF
Если метка цитируется, то здесь документ берется как есть. Или еще процитируйте обратные кавычки в этом документе.
Соответствующая часть страницы руководства:
Если какая-либо часть слова цитируется, разделитель является результатом удаления цитаты на слово, а строки в этом документе не будут расширены. Если слово без кавычек, все строки этого документа подвергаются расширению параметров, подстановке команд и арифметическому расширению, последовательность символов \ & lt; newline & gt; игнорируется, а \ следует использовать для цитирования символов \, $ и `.Обратите внимание, что это решение скопирует здесь документ дословно; чтобы сделать некоторые расширения, а другие не сделали единственное решение - использовать \ для цитирования тех конструкций, которые не будут расширены.
cat << \EOF
Если метка цитируется, то здесь документ берется как есть. Или еще процитируйте обратные кавычки в этом документе.
Соответствующая часть страницы руководства:
Если какая-либо часть слова цитируется, разделитель является результатом удаления цитаты на слово, а строки в этом документе не будут расширены. Если слово без кавычек, все строки этого документа подвергаются расширению параметров, подстановке команд и арифметическому расширению, последовательность символов \ & lt; newline & gt; игнорируется, а \ следует использовать для цитирования символов \, $ и `.Обратите внимание, что это решение скопирует здесь документ дословно; чтобы сделать некоторые расширения, а другие не сделали единственное решение - использовать \ для цитирования тех конструкций, которые не будут расширены.
cat << \EOF
Если метка цитируется, то здесь документ берется как есть. Или еще процитируйте обратные кавычки в этом документе.
Соответствующая часть страницы руководства:
Если какая-либо часть слова цитируется, разделитель является результатом удаления цитаты на слово, а строки в этом документе не будут расширены. Если слово без кавычек, все строки этого документа подвергаются расширению параметров, подстановке команд и арифметическому расширению, последовательность символов \ & lt; newline & gt; игнорируется, а \ следует использовать для цитирования символов \, $ и `.Обратите внимание, что это решение скопирует здесь документ дословно; чтобы сделать некоторые расширения, а другие не сделали единственное решение - использовать \ для цитирования тех конструкций, которые не будут расширены.