![在 Unix 终端中自动选择默认值](https://linux22.com/image/644450/%E5%9C%A8%20Unix%20%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%87%AA%E5%8A%A8%E9%80%89%E6%8B%A9%E9%BB%98%E8%AE%A4%E5%80%BC.png)
我知道诸如这样的命令something -y
会强制终端返回的任何响应都为“是”,但我无法让 Ansible 自动执行配置过程。相关模块有默认值([no]),配置过程挂起,因为我无法将其配置为自动选择默认答案。
有没有办法运行命令让终端自动选择默认值,就像你用标志做的那样-y
?
答案1
如果您希望通过脚本与程序进行交互,而该程序不允许您通过命令行开关或非交互式操作的答案文件选择正确的选项,但仅支持用户交互,您可能需要查看expect
如果您只需要回答一个问题,那么yes
或yes <answer>
就是您的朋友。
答案2
您可能只需对命令稍加创意就可以做到这一点yes
。
yes | script.sh
或者yes | command
如果你想要一个“n”,尝试yes n | command