我有一个交互式构建脚本,其中包含如下部分:
echo "Is this correct?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit;;
esac
done
如果我单独运行脚本 (
./runscript.sh
),那么我会得到正确的提示。
但是如果我从 Ansible 内部运行 Bash 脚本,如下所示:
tasks:
- name: Run script
shell: "./runscript.sh {{param1}} {{param2}} {{param3}}"
args:
chdir: "../../path/to/script/"
run_once: true
delegate_to: localhost
然后这个事情就跑过去了,没有任何提示,我也不知道是怎么回事。完成了吗?怎么样,用什么设置?它是否总是隐含地假设“是”?