Source
Команда source в Linux та інших Unix-подібних системах використовується для виконання команд з певного файлу в поточній оболонці. Це означає, що замість запуску нового процесу для виконання команд, source запускає їх у поточній сесії терміналу.
Основні моменти про source :
Читання і виконання команд
source читає команди з вказаного файлу та виконує їх у поточній оболонці. Це відрізняється від простого запуску скрипта, де команди виконуються в окремій підоболонці.
Актуалізація змінних
Якщо у файлі, який виконується через source, встановлюються або змінюються змінні середовища, ці зміни будуть доступні в поточній оболонці після виконання команди.
Синтаксис
source ім'я_файлу
Або коротка форма (еквівалентна команді source):
. ім'я_файлу
Використання
- Завантаження конфігураційних файлів: Наприклад, після редагування файлу
~/.bashrc, щоб зміни вступили в силу, можна виконати командуsource ~/.bashrc. - Застосування змінних: Якщо у вас є файл, що містить визначення змінних, ви можете виконати
source файл, щоб ці змінні стали доступними в поточній сесії.
Різниця від звичайного виконання скрипта :
- При звичайному виконанні скрипта (наприклад,
./скрипт.sh) команди виконуються в новій підоболонці, і зміни не впливають на поточну сесію. - При використанні
sourceвсі зміни, що відбуваються в скрипті, безпосередньо впливають на поточну сесію оболонки.
Це робить source корисним для сценаріїв, де потрібно динамічно завантажувати конфігурації або змінювати середовище поточної сесії оболонки.