Android

Исходная команда Bash

Bash vs Python для DevOps инженеров и системных администраторов

Bash vs Python для DevOps инженеров и системных администраторов

Оглавление:

Anonim

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

source - это оболочка, встроенная в Bash и другие популярные оболочки, используемые в операционных системах Linux и UNIX. Его поведение может немного отличаться от оболочки к оболочке.

Синтаксис исходной команды

Синтаксис source команды следующий:

source FILENAME. FILENAME

  • source и . (точка) - это одна и та же команда. Если FILENAME не является полным путем к файлу, команда выполнит поиск файла в каталогах, указанных в $PATH среды $PATH . Если файл не найден в $PATH команда будет искать файл в текущем каталоге. Если заданы какие-либо ARGUMENTS , они станут позиционными параметрами для FILENAME Если FILENAME существует, код завершения source команды равен 0 , в противном случае если файл не найден, он вернет 1 .

Примеры исходных команд

В этом разделе мы рассмотрим несколько основных примеров использования команды source .

Функции поиска

В этом примере мы создадим файл, который включает в себя функцию bash, которая проверяет, является ли пользователь, выполняющий скрипт, пользователем root, и, если нет, показывает сообщение и завершает работу скрипта.

functions.sh

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

Теперь в каждом из ваших сценариев, которые должны запускаться только пользователем root, просто создайте файл functions.sh и вызовите функцию:

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

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

Конфигурационный файл Bash

С помощью команды source вы также можете читать переменные из файла. Переменные должны быть установлены с использованием синтаксиса Bash, VARIABLE=VALUE .

Давайте создадим тестовый файл конфигурации:

config.sh

VAR1="foo" VAR2="bar"

В вашем bash-скрипте используйте команду source чтобы прочитать файл конфигурации:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

Вывод

Из этого руководства вы узнали, как использовать встроенную команду source в своих сценариях оболочки.

терминал bash