Bash脚本调用vi进行手动编辑,然后脚本恢复?

时间:2015-07-28 20:01:59

标签: bash automation text-editor vi

我编写了一个创建文本文件备份的脚本,以及第二个使用SED验证文本文件中某些语法的脚本。

在中间,有一个手动过程:用户编辑添加一些字符串的原始文件。此过程必须保持手动。

我想合并我的两个脚本以便创建备份,vi对用户是开放的,当用户完成编辑文件时,脚本将继续执行语法验证。

我正在边做边学,但实际上不知道如何编写“打开vi,等待用户进行编辑,控制并恢复验证”部分。

我读到有一个名为system(在Perl中)的函数可以使用,但我的代码在BASH中。

有关如何在BASH中完成此操作的任何建议?谢谢!

1 个答案:

答案 0 :(得分:1)

bash中,每个语句基本上类似于对system的隐式调用(除非它是内置的shell命令),因为shell脚本旨在使其易于运行其他程序。 / p>

backup some_file.txt
vi some_file.txt  # The script blocks until the user exits vi
verify_syntax some_file.txt

使用vils之类的命令之间的唯一区别是ls将执行其操作并在没有用户干预的情况下退出,而vi(或任何交互式命令) )将一直运行,直到用户明确退出。