从我的 bash 脚本中选择 cli 菜单选项

从我的 bash 脚本中选择 cli 菜单选项

我正在运行一个 bash 脚本,但是当它到达必须进行选择的菜单时,进程会冻结。我理解对于“是”,我可以在命令中使用 -y,但是在以下情况下:

  1. 我需要从选项列表中选择/输入一个数字

  2. 输入姓名或电子邮件

我怎样才能做到这一点?

奇怪的是,大多数搜索结果都返回如何使用 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

相关内容