Я запускаю сценарий bash, но процесс зависает, когда он попадает в меню, где ему нужно сделать выбор. Я понимаю, что для YES можно использовать -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
ttsakpc