Иногда нам нужно запустить внешний скрипт из текущего запущенного скрипта. Bash позволяет нам запускать внешний скрипт из другого скрипта путем вызова. В этой статье мы рассмотрим, как можно вызвать внешний сценарий Bash из текущего запущенного сценария. Также мы рассмотрим некоторые примеры и пояснения, чтобы облегчить изучение темы.
Существует три простых способа вызова внешнего скрипта: команда source, символ . и команда sh. Вы можете выбрать любой из этих методов.
Создание сценария Bash
Прежде чем начать, предположим, что мы создали наш первый Bash-скрипт под названием ScriptOne.sh с приведенным ниже кодом:
1 | echo 'Это первый сценарий Bash, который ожидает ответа'. |
Нам нужно разработать другой сценарий Bash, который будет ссылаться на наш первый сценарий Bash. Мы можем вызвать первый сценарий из другого сценария Bash тремя способами, описанными ниже.
Использование команды source для вызова другого сценария из текущего сценария в Bash
В нашем первом методе мы будем использовать команду source. Это специальная команда, которая может быть использована для выполнения другого сценария.
Используя эту команду, код для нашего примера будет выглядеть следующим образом:
1 2 | echo 'Это второй файл, который вызовет другой скрипт'. source first.sh |
Обратите внимание, что после команды source должен стоять пробел.
Использование символа . для вызова другого сценария из текущего сценария в Bash
Это самый простой метод. В этом методе мы будем использовать символ .
Он будет работать точно так же, как и описанный выше метод. Код для того же примера с использованием символа . будет выглядеть следующим образом:
1 2 | echo 'Это второй файл, который вызовет другой скрипт' . first.sh |
Обратите внимание, что после символа . должен стоять пробел.
Использование команды sh для вызова другого сценария из текущего сценария в Bash
В нашем последнем примере мы будем использовать команду sh, встроенную команду Bash, которую можно использовать для выполнения внешних скриптов. Код для того же примера с использованием команды sh будет выглядеть следующим образом:
1 2 | echo 'Это второй файл, который вызовет другой скрипт'. sh first.sh |
Обратите внимание, что после команды sh должен стоять пробел.
Все описанные выше методы будут работать одинаково. Выполнив любой из примеров методов, вы получите следующий вывод:
1 2 | Это второй файл, который вызовет другой скрипт Это первый bash-скрипт, который ожидает ответа |