使用expect& shell脚本的作业控制

时间:2014-03-03 09:14:12

标签: bash shell expect

我有一个关于期望的问题,我想知道如何实现这个

示例场景:

我有一个命令,让我们说test1,执行时给出以下输出

$./test1 --requestid 21 --file test1.xml
 Myrequestid: 21
 Profile: Test Profile
 Filename: test1.xml

 Action (update/validate): 

当使用选项--requestid 21 --file test1.xml执行test1时,创建一个文件test1.xml,其中包含与请求ID 21相关的一些数据,并且还提供一个交互式菜单,要求用户输入update / validate。

现在用户执行上述命令后,打开另一个终端Edits test1.xml

注意编辑/修改xmlfile,我有另一个脚本,所以我只需要调用该脚本。

编辑后(一旦修改了xml文件的脚本)完成后,它必须返回到执行上述命令的终端,并在交互式提示符下输入update / validate来更新或验证更改。

我想使用expect自动执行此任务,有人可以提供关于如何使用expect实现上述目标的最佳提示,

1 个答案:

答案 0 :(得分:0)

你的问题不明确。

  • 如果您希望文本编辑器能够通知bash脚本更新或验证文件,这不是与bash相关的问题:您必须使用编辑器的脚本语言为文本编辑器创建脚本
  • 如果您希望脚本能够启动文本编辑器(例如默认编辑器),那么让用户更新/验证您的文件,期望无关紧要,因为您可以完全控制脚本。您也可以要求“更新/验证/编辑文件”,当用户选择“编辑文件”时,当用户使用循环退出编辑器时,再次退出“更新/验证/编辑文件”。