| Наступна ревізія | Попередня ревізія |
| linux:commands:source [14/08/2024 23:53] – створено osvex | linux:commands:source [Невідома дата] (поточний) – зовнішнє редагування (Невідома дата) 127.0.0.1 |
|---|
| Команда `source` в Linux та інших Unix-подібних системах використовується для виконання команд з певного файлу в поточній оболонці. Це означає, що замість запуску нового процесу для виконання команд, `source` запускає їх у поточній сесії терміналу. | ====== Source ====== |
| |
| ### Основні моменти про `source`:\\ | Команда ''source'' в Linux та інших Unix-подібних системах використовується для виконання команд з певного файлу в поточній оболонці. Це означає, що замість запуску нового процесу для виконання команд, ''source'' запускає їх у поточній сесії терміналу. |
| 1. **Читання і виконання команд**: `source` читає команди з вказаного файлу та виконує їх у поточній оболонці. Це відрізняється від простого запуску скрипта, де команди виконуються в окремій підоболонці. | ==== Основні моменти про source : ==== |
| |
| 2. **Актуалізація змінних**: Якщо у файлі, який виконується через `source`, встановлюються або змінюються змінні середовища, ці зміни будуть доступні в поточній оболонці після виконання команди. | === Читання і виконання команд === |
| |
| 3. **Синтаксис**:\\ | ''source'' читає команди з вказаного файлу та виконує їх у поточній оболонці. Це відрізняється від простого запуску скрипта, де команди виконуються в окремій підоболонці. |
| ```bash\\ | === Актуалізація змінних === |
| source ім'я_файлу\\ | |
| ```\\ | |
| Або коротка форма (еквівалентна команді `source`):\\ | |
| ```bash\\ | |
| . ім'я_файлу\\ | |
| ``` | |
| |
| 4. **Використання**:\\ | Якщо у файлі, який виконується через ''source'', встановлюються або змінюються змінні середовища, ці зміни будуть доступні в поточній оболонці після виконання команди. |
| - **Завантаження конфігураційних файлів**: Наприклад, після редагування файлу `~/.bashrc`, щоб зміни вступили в силу, можна виконати команду `source ~/.bashrc`.\\ | === Синтаксис === |
| - **Застосування змінних**: Якщо у вас є файл, що містить визначення змінних, ви можете виконати `source файл`, щоб ці змінні стали доступними в поточній сесії. | |
| |
| 5. **Різниця від звичайного виконання скрипта**:\\ | <code> |
| - При звичайному виконанні скрипта (наприклад, `./скрипт.sh`) команди виконуються в новій підоболонці, і зміни не впливають на поточну сесію.\\ | source ім'я_файлу |
| - При використанні `source` всі зміни, що відбуваються в скрипті, безпосередньо впливають на поточну сесію оболонки. | |
| |
| Це робить `source` корисним для сценаріїв, де потрібно динамічно завантажувати конфігурації або змінювати середовище поточної сесії оболонки. | </code> |
| | |
| | Або коротка форма (еквівалентна команді ''source''): |
| | <code> |
| | . ім'я_файлу |
| | |
| | </code> |
| | |
| | === Використання === |
| | |
| | * **Завантаження конфігураційних файлів**: Наприклад, після редагування файлу ''~/.bashrc'', щоб зміни вступили в силу, можна виконати команду ''source ~/.bashrc''. |
| | * **Застосування змінних**: Якщо у вас є файл, що містить визначення змінних, ви можете виконати ''source файл'', щоб ці змінні стали доступними в поточній сесії. |
| | === Різниця від звичайного виконання скрипта : === |
| | |
| | * При звичайному виконанні скрипта (наприклад, ''./скрипт.sh'') команди виконуються в новій підоболонці, і зміни не впливають на поточну сесію. |
| | * При використанні ''source'' всі зміни, що відбуваються в скрипті, безпосередньо впливають на поточну сесію оболонки. |
| | |
| | Це робить ''source'' корисним для сценаріїв, де потрібно динамічно завантажувати конфігурації або змінювати середовище поточної сесії оболонки. |
| |