#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