Рейтинг:0

В сценариях оболочки, как я могу ввести пользовательский ввод для переменной, а также сопоставить и проверить значения?

флаг tn

Arr=(exv err tmp)
Arr_1=(7 5 5)

В этом я хочу получить ввод от пользователя, чтобы он мог проверить значение arr и arr_1 из массива. И если он не совпадает с пользовательским вводом, он выдает ошибку. я придумал

#!/бин/баш
Выберите в arr[@]; делать
Если [[ "arr[@]" == *"a"* ]]; тогда
эхо ""
сломать
еще 
эхо ""
фи
Выполнено

Есть ли другой метод, с помощью которого я могу добиться такого же результата?

Liso avatar
флаг sd
Просто любопытно, если вы хотите получить ввод, разве вы не должны использовать `read` вместо `select`?
Fox Chasin avatar
флаг tn
У меня уже определен ввод. Я просто хочу сопоставить тот, который я ввел в терминале, с определенным.
флаг hr
Трудно догадаться, что означает «тот же результат», поскольку вы на самом деле не предоставили ничего работоспособного.
Liso avatar
флаг sd
@FoxChasin «Введено в терминал», я имею в виду, что вы правильно вводите пользовательский ввод? Насколько я понимаю, вы хотите: 1. Пользователь должен ввести терминал 2. Возвращать успех, если он найден в массиве 3. Вернуть ошибку, если он не найден в массиве. Я прав ?
Fox Chasin avatar
флаг tn
@ Лисо, да, ты прав.
Fox Chasin avatar
флаг tn
Я использую select для этого. Есть ли другой способ?

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

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