Рейтинг:0

Выбор параметров меню cli из моего сценария bash

флаг ao

Я запускаю сценарий bash, но процесс зависает, когда он попадает в меню, где ему нужно сделать выбор Я понимаю, что для YES я могу использовать -y в своих командах, но в случае, когда:

  1. Мне нужно выбрать/ввести число из списка вариантов

  2. Введите имя или адрес электронной почты

Как я могу это сделать?

Достаточно странно, что большинство результатов поиска возвращают, как создать меню с помощью bash, но не как заставить скрипт вводить выборки/значения.

Romeo Ninov avatar
флаг in
Без исходников скрипта мы вряд ли сможем вам помочь
Рейтинг:1
флаг cn

Вы можете просто отправить текст с ответами на команду:

printf "бот\nn\nJava" | ./questions.sh

Или используйте ожидать вот так:

#!/usr/bin/ожидание -f

установить тайм-аут -1
спавн ../4/questions.sh

ожидать "Ваше имя: "
отправить -- "ожидать\n"

ожидать "Ты человек?\r
т/и: "
отправить -- "н\р"

ожидать "Какой ваш любимый язык программирования?\r
Ваш ответ: "
отправить -- "Java\r"

ожидать конец

больше информации здесь https://www.baeldung.com/linux/bash-interactive-prompts

Tlink avatar
флаг ao
Спасибо, @ttsakpc, а как насчет выбора на таких экранах? https://images.app.goo.gl/uwRDDpBPkN3JxeGk8
ttsakpc avatar
флаг cn
Я считаю, что это также должно работать с `expect`. Если нет, вы можете попробовать `пустое ожидание`, как указано здесь

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.