从 bash 脚本运行 Vim 命令

从 bash 脚本运行 Vim 命令

这与我之前提出的一个问题有关,但我想将其分开,以防其他人可以使用它。

我有一个从命令行在名为 dummy.out 的文件上运行的命令,如下所示

vim -E -s dummy.out <<-EOF
   :%s/old/new/g
   :%s/old2/new2/g
   :%s/old3/new3/g
   :update
   :quit
EOF

从命令行这是有效的,但是当我将它添加到我的 bash 文件 bashscript.sh 中时

#!/bin/bash
# bash script

var01="start script"
echo $var01

vim -E -s dummy.out <<-EOF
   :%s/old/new/g
   :%s/old2/new2/g
   :%s/old3/new3/g
   :update
   :quit
EOF

我收到以下错误

warning: here-document at line 7 delimited by end-of-file (wanted 'EOF')

我如何让这个命令行命令在这个 bash 文件中运行?

答案1

好吧,看来 EOF 比我预期的要敏感得多

这不起作用

vim -E -s dummy.out <<-EOF
   :%s/old/new/g
   :%s/old2/new2/g
   :%s/old3/new3/g
   :update
   :quit
EOF

这确实

vim -E -s dummy.out << EOF
:%s/old/new/g
:%s/old2/new2/g
:%s/old3/new3/g
:update
:quit
EOF

相关内容