【发布时间】:2017-02-05 22:01:14
【问题描述】:
#!/bin/bash
if [ $# -ne 1 ]
then
echo "USAGE:vitest filename"
else
FILENAME=$1
exec vi $FILENAME <<EOF
i
Line 1.
Line 2.
^[
ZZ
EOF
fi
exit 0
我正在尝试使用此处的文档和命令通过 Exec vi 输入第 1 行和第 2 行。
运行脚本时,它给了我以下信息:
Vim(?):Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Press ENTER or type command to continueVim: Finished.
Vim: Error reading input, exiting...
Vim: Finished.
【问题讨论】:
-
我建议使用
sed。 -
不是
sed,而是ed或ex。 -
使用
cat这就是它的用途。 -
我会使用你的建议,但我必须使用 exec vi。
-
请注意,如果您使用
exec,则永远无法到达以下exit 0。你确定你需要exec vi而不仅仅是vi?
标签: bash shell scripting vi heredoc