期望使用 ansible 进行某种操作
pexpect kind of operation with ansible
我希望使用 ansible 自动化交互式安装过程。此安装没有静默安装选项或不采用交互式问题的命令行参数。该问题涉及设置文件夹位置、确保文件夹位置正确等,答案可能是默认的或自定义的。
我查看了 ansible 的 expect
模块,但似乎并没有解决我的目的。
- expect:
command: passwd username
responses:
(?i)password: "MySekretPa$$word"
我不需要命令,但它是必需的。相反,我正在寻找可以正则表达式 Are you sure you want to continue [y|n]? [n]:
的东西,我想为其发送默认值 By sending return or typing n as a response
,例如 Backup directory [/tmp]
,其响应将是 Carriage return
。
I don't need the command but it's required. Instead I am looking for something that could regex Are you sure you want to continue [y|n]? [n]:
The module 需要 command
因为你必须 运行 某些东西 才能得到任何输出。
您显然确实有一个命令,因为您已手动 运行 它并看到了它产生的输出。这就是您应该插入模块的内容。
或者,您可以自己编写 pexpect 脚本并使用 command
或 shell
模块 运行 它。
我找到了适合我的方法。我将参数传递给 shell 脚本,当 运行 手动需要答案时。就像 ./shell.sh <<< 'answer1\nanswer2\n'
一样,它非常适合我。这个我已经添加到任务中了。
我希望使用 ansible 自动化交互式安装过程。此安装没有静默安装选项或不采用交互式问题的命令行参数。该问题涉及设置文件夹位置、确保文件夹位置正确等,答案可能是默认的或自定义的。
我查看了 ansible 的 expect
模块,但似乎并没有解决我的目的。
- expect:
command: passwd username
responses:
(?i)password: "MySekretPa$$word"
我不需要命令,但它是必需的。相反,我正在寻找可以正则表达式 Are you sure you want to continue [y|n]? [n]:
的东西,我想为其发送默认值 By sending return or typing n as a response
,例如 Backup directory [/tmp]
,其响应将是 Carriage return
。
I don't need the command but it's required. Instead I am looking for something that could regex
Are you sure you want to continue [y|n]? [n]:
The module 需要 command
因为你必须 运行 某些东西 才能得到任何输出。
您显然确实有一个命令,因为您已手动 运行 它并看到了它产生的输出。这就是您应该插入模块的内容。
或者,您可以自己编写 pexpect 脚本并使用 command
或 shell
模块 运行 它。
我找到了适合我的方法。我将参数传递给 shell 脚本,当 运行 手动需要答案时。就像 ./shell.sh <<< 'answer1\nanswer2\n'
一样,它非常适合我。这个我已经添加到任务中了。