【问题标题】:Using expect & job control for a shell script对 shell 脚本使用期望和作业控制
【发布时间】:2014-03-03 09:14:12
【问题描述】:

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

示例场景:

我有一个命令,比如说 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 相关的一些数据,并且还会显示一个交互式菜单,要求用户输入更新/验证。

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

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

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

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

【问题讨论】:

    标签: bash shell expect


    【解决方案1】:

    你的问题不清楚。

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

    【讨论】:

    • 关于编辑 xml 文件,我还有其他脚本可以进行编辑,例如 xmlstarlet。很抱歉没有说清楚
    猜你喜欢
    • 2011-07-07
    • 2016-11-07
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    相关资源
    最近更新 更多