Могу ли я вызвать интерактивный скрипт в orther bash? - PullRequest
0 голосов
/ 26 апреля 2020

Например, есть интерактивный скрипт, который читает пользователя, вводит его имя. И затем записывает имя в файл.

#! /bin/bash 
read name
echo $name>>name.txt

Если я не могу изменить интерактивный скрипт, как я могу использовать anothor bash процитировать интерактивный скрипт?

Например, я хочу написать bash, который извлекает имя из текста и затем вызывает этот интерактивный скрипт.

Так могу ли я реализовать свою идею?

1 Ответ

2 голосов
/ 26 апреля 2020

Используйте pipe , чтобы объединить вывод одной программы со вводом следующей программы:

echo 'name from other script' | ./script1.sh

echo можно заменить любым другим исполняемым файлом или скриптом:

$ cat >script2.sh
#!/bin/sh
echo 'first input'
echo 'second input'
^D
$ chmod u+x script2.sh
$ ./script2.sh | ./script1.sh

Если нужное имя ввода уже есть в файле, используйте вместо него IO redirection :

$ ./script2.sh < file_containing_name.txt
...