Bash vs Python для DevOps инженеров и системных администраторов
Оглавление:
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
.
Давайте создадим тестовый файл конфигурации:
VAR1="foo" VAR2="bar"
В вашем bash-скрипте используйте команду
source
чтобы прочитать файл конфигурации:
#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"
Вывод
Из этого руководства вы узнали, как использовать встроенную команду
source
в своих сценариях оболочки.
Индийская команда разработала первый «истинный» четырехъядерный чип Intel.
Intel Xeon 7400 - это первый чип, разработанный компанией в Индии .
Китайская команда ошибочно выпустила непроверенный IE7 Exploit
Исследователи китайской безопасности ошибочно выпустили код для взлома ПК, используя уязвимость, не подвергнутую уязвимости в Microsoft ...
Команда History в Linux (Bash History)
В этой статье мы поговорим о команде history, которая позволяет просматривать список ранее выполненных команд, осуществлять поиск по списку и манипулировать файлом истории.







