Как вы предоставляете конкретные c ответы на вопросы из сценария оболочки? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть сценарий оболочки, предоставленный нашим администратором для подключения к HP C, где я должен предоставлять ответы на различные запросы при каждом подключении. Есть ли способ, которым я могу поместить свои ответы в текстовый файл, и он предоставляет ответы на вопросы, основываясь на том, какой вопрос задан? Я попробовал другие ответы на SO, но здесь ситуация другая, потому что наш админ сделал вопросы / варианты случайными, а иногда и не все вопросы всплывают. Поэтому ввод c типа echo "y n y y y" не будет работать. Вот полный рабочий процесс.

Я вызываю сценарий как login.sh, затем появляется приглашение

1) name1  2) name2   2) name3   4) name4 
Please select an account:

, затем я выбираю число от 1 до 4 в зависимости от того, к которому я хочу подключиться. Но допустим, я всегда хочу подключиться к name1, и я могу просто сделать это, передав echo "1" | login.sh. Однако сложность заключается в том, что эти учетные записи не появляются в одном и том же порядке каждый раз. Иногда name1 на 1, в следующий раз на 4 и так далее. Это случайно. Как я могу автоматизировать его таким образом, чтобы я всегда подключался к name1?

После того, как я пропущу это первое приглашение, появится следующее приглашение, подобное этому

1) instance1 
2) instance2
3) instance3
4) random
Please select an instance to connect to:

затем снова я заполняю одну цифру c значениями от 1 до 4. Я всегда хочу подключиться к random, но, как и выше, он не всегда находится на позиции 4. Как я могу это сделать?

Эти первые несколько шагов являются числовыми, но затем они становятся немного более сложными, когда мы просим ввести наш идентификатор пользователя и пароль.

What is your username?:

здесь я могу либо ввести свой идентификатор пользователя, либо просто нажать Enter, чтобы продолжить. Я хотел бы знать, как сделать это в обоих направлениях. Наконец он запрашивает пароль.

Password:

затем я ввожу пароль. Хитрость в том, что иногда он позволяет мне входить в систему, вводя пароль только один раз, но иногда он запрашивает пароль несколько раз.

Как я могу предоставить эти ответы в простом текстовом файле и передать этот файл в сценарий оболочки в качестве аргумента, возможно, он может определить, какой вопрос задают, и дать ответы на основе того, какой вопрос задают. Я был бы очень признателен, если бы я мог получить некоторые рекомендации по этому вопросу.

...