如何使用 shell 脚本退出 vi?

如何使用 shell 脚本退出 vi?

我有一个现有的脚本test.sh,它执行一些操作,然后最终在 vi 中打开一个文件。我无法对此现有脚本进行任何更改。当我运行第一个脚本时,它会在 vi 中打开一个文本文件。现在我有另一个脚本可以运行现有的脚本test.sh。它在 vi 中打开一个文件。我如何:wq从脚本内部?有可能吗?

答案1

如果您需要模拟与需要终端的程序的通信,请查找expect为此而制作的程序,它添加命令以tcl允许控制另一个程序并通过伪终端与其进行通信。

答案2

我建议看一下ex编辑vi,这是交互式可视化编辑器的基础。

ex可以轻松地以非交互方式编辑文件,这对于脚本来说是完美的。

我本想回答一个更长的问题,但是vi 堆栈交换已经有一个好的了,在https://vi.stackexchange.com/questions/788/how-to-edit-files-non-interactively-eg-in-pipeline

相关内容