![从我的 bash 脚本中选择 cli 菜单选项](https://linux22.com/image/777307/%E4%BB%8E%E6%88%91%E7%9A%84%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E9%80%89%E6%8B%A9%20cli%20%E8%8F%9C%E5%8D%95%E9%80%89%E9%A1%B9.png)
我正在运行一个 bash 脚本,但是当它到达必须进行选择的菜单时,进程会冻结。我理解对于“是”,我可以在命令中使用 -y,但是在以下情况下:
我需要从选项列表中选择/输入一个数字
输入姓名或电子邮件
我怎样才能做到这一点?
奇怪的是,大多数搜索结果都返回如何使用 bash 创建菜单,但没有返回如何让脚本输入选择/值。
答案1
您只需将答案通过管道传输至命令即可:
printf "bot\nn\nJava" | ./questions.sh
或者expect
像这样使用:
#!/usr/bin/expect -f
set timeout -1
spawn ../4/questions.sh
expect "Your name: "
send -- "expect\n"
expect "Are you human?\r
y/n: "
send -- "n\r"
expect "What is your favorite programming language?\r
Your answer: "
send -- "Java\r"
expect eof
更多信息请点击此处 https://www.baeldung.com/linux/bash-interactive-prompts