Стимулируйте ввод ключа из другого сценария оболочки

#linux #shell

Вопрос:

У меня есть два сценария оболочки one.sh и two.sh

Я хочу казнить two.sh от one.sh. Ниже приведен код :

 #!/bin/sh
sh /home/ubuntu/two.sh
 

Следующий шаг ( где я застрял). Есть один момент в two.sh когда пользователю нужно нажать enter, чтобы продолжить.
Далее после ввода мне нужно указать нужный каталог.
Я хочу стимулировать оба шага с one.sh

Есть какие-нибудь предложения ???

Комментарии:

1. Вы можете попробовать printf "n/path/to/dirn" | sh /home/ubuntu/two.sh

2. Спасибо, что ответили @Mathieu!!! Как я могу выполнить более одной команды для одного и того же сценария оболочки ?? Как будто мне нужно нажать enter, затем указать путь к каталогу и снова дать » да » или «нет». Так как же я могу выполнить их с помощью одной-единственной команды?

3. Можете ли вы опубликовать two.sh или, по крайней мере, команду, которую вы хотите автоматизировать?

4. @Mathieu two.sh слишком большой, но я могу отправлять команды : 1) Нажмите enter, чтобы продолжить 2) Введите путь к каталогу 3) Для завершения установки ( введите да или нет ) Эти шаги должны быть автоматизированы !!!

Ответ №1:

Таким образом, это сработало с помощью printf, если вы точно знаете, сколько y ожидает ваш скрипт, вы можете сделать это следующим образом:

 $ printf 'ynynyn' | ./script
 

Более подробную информацию можно найти здесь : https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line