Установите атрибут required
для хотя бы одного входа радиогруппы.
Настройка required
для всех входов более понятна, но не нужна (если динамически не генерируются радиокнопки ).
Чтобы сгруппировать радиокнопки, все они должны иметь одинаковое значение name
. Это позволяет выбирать только один за один раз и применять required
для всей группы.
Также обратите внимание:
Чтобы избежать путаницы в отношении того, требуется ли группа переключателей или нет, авторам рекомендуется указывать атрибут на всех переключателях в группе. В самом деле, в целом, авторам рекомендуется избегать групп радиокнопки, у которых вначале не были обнаружены элементы управления, поскольку это состояние, к которому пользователь не может вернуться, и поэтому обычно считается плохим пользовательским интерфейсом.
blockquote>
Вы можете использовать любой текст, который вы хотите использовать на stdin, и он будет таким же, как и сам пользователь. Например, для имитации ввода «Y» просто используйте:
echo "Y" | myapp
или используя переменную оболочки:
echo $ANSWER | myapp
Также существует команда unix, называемая «да», которая выводит непрерывный поток «y» для приложений, которые задают множество вопросов, на которые вы просто хотите ответить утвердительно.
Если приложение читает из stdin (в отличие от / dev / tty, как это делает программа passwd
), то многострочный вход является идеальным кандидатом для данного документа.
#!/bin/sh
the_app [app options here] <<EOF
Yes
No
Maybe
Do it with $SHELL
Quit
EOF
Как вы можете видеть, здесь-документы даже позволяют замену параметров. Если вы этого не хотите, используйте <<'EOF'
.
команда ожидания для более сложных ситуаций, система должна иметь ее. Я не использовал его сам, но я подозреваю его то, что вы ищете.
$ man expect
Я предпочитаю этот способ: если вы хотите несколько входов ... вы помещаете несколько выражений эха следующим образом:
{ echo Y; Y; } | sh install.sh >> install.out
В приведенном выше примере ... Я загружаю два входа в установку .sh скрипт. Затем ... в конце, я собираю вывод сценария в файл журнала, который будет архивироваться и просматриваться позже.
printf '%s\n' Y N
. Таким образом, вам не нужно проверять все ваши значения, являются ли они правильными строками формата. – Charles Duffy 22 June 2018 в 15:17