我编写了一个创建文本文件备份的脚本,以及第二个使用SED验证文本文件中某些语法的脚本。
在中间,有一个手动过程:用户编辑添加一些字符串的原始文件。此过程必须保持手动。
我想合并我的两个脚本以便创建备份,vi对用户是开放的,当用户完成编辑文件时,脚本将继续执行语法验证。
我正在边做边学,但实际上不知道如何编写“打开vi,等待用户进行编辑,控制并恢复验证”部分。
我读到有一个名为system(在Perl中)的函数可以使用,但我的代码在BASH中。
有关如何在BASH中完成此操作的任何建议?谢谢!
答案 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
使用vi
和ls
之类的命令之间的唯一区别是ls
将执行其操作并在没有用户干预的情况下退出,而vi
(或任何交互式命令) )将一直运行,直到用户明确退出。