logo

Команда джерела в Linux із прикладами

Якщо ви новачок у світі Linux, можливо, ви чули про команди, які виконують різні завдання, але деякі, як-от команда «джерело», спочатку можуть здатися дещо заплутаними. Не хвилюйтеся; давайте розберемо це крок за кроком.

Що таке команда Source?

Команда джерела в Linux схожа на чарівну паличку, яка дозволяє вводити команди з файлу та використовувати їх безпосередньо у вашому терміналі. Це як мати книгу рецептів і мати можливість використовувати рецепти одразу, не копіюючи їх.

Команда «джерело» — це вбудована функція оболонки, призначена для виконання команд, збережених у файлі, безпосередньо в поточному середовищі оболонки. Коли ви використовуєте команду «source», вона зчитує вміст зазначеного файлу, як правило, послідовність команд, і виконує їх так, ніби вони були введені безпосередньо в термінал. Цей процес відбувається в контексті поточного сеансу оболонки, без створення нового процесу чи інтерпретатора. Якщо будь-які аргументи надаються командою «джерело», вони передаються як позиційні параметри до команд у вихідному файлі. Однак позиційні параметри поточного сеансу оболонки залишаються незмінними, якщо їх явно не змінено командами у вихідному файлі. Команда «джерело» шукає вказаний файл у каталогах, указаних у $PATH змінна середовища . Якщо файл не знайдено в жодному з цих каталогів, він шукатиме в поточному каталозі. Важливо зазначити, що команда «джерело» не пропонує жодних параметрів; його єдиним аргументом є ім'я файлу, який буде отримано



Синтаксис команди Source в Linux

Синтаксис команди джерела простий:

source FILENAME>

Або його еквівалент:

. filename>

Тут «ім’я файлу» означає файл, що містить команди, які потрібно отримати.

Приклад команди Source в Linux

Команда джерела в Linux із прикладами

рядок до внутр

Виконання сценаріїв оболонки:

Одним із основних випадків використання команди джерела є виконання сценаріїв оболонки в поточному середовищі оболонки. Це дозволяє сценарію безпосередньо керувати змінними, функціями та іншими функціями оболонки.

Уявіть, що у вас є сценарій оболонки під назвою «myscript.sh», який встановлює змінну, а потім повторює її значення:

# myscript.sh
#!/bin/bash
# Встановити змінну

MY_VARIABLE=Вітаю, з myscript.sh

# Ехо змінної

echo $MY_VARIABLE

Тепер давайте скористаємося командою джерела, щоб виконати цей сценарій у поточній оболонці:

source myscript.sh>
Виконання сценарію оболонки

Виконання сценарію оболонки

Пояснення:

  • Команда джерела виконує команди в «myscript.sh» безпосередньо в поточному середовищі оболонки.
  • Змінна «MY_VARIABLE» встановлюється в «myscript.sh» і повторюється, створюючи вихідні дані в поточному сеансі оболонки.

Зміна змінних середовища:

Команда джерела має вирішальне значення для зміни змінних середовища поточного оболонка сесії. Це особливо корисно, коли сценарію потрібно експортувати змінні, які впливають на середовище батьківської оболонки.

# environment_setup.sh
#!/bin/bash
# Експорт змінної

export MY_ENV_VARIABLE=Це моя змінна середовища

Тепер скористаємося командою джерела, щоб змінити змінні середовища в поточній оболонці:

Зміна змінної середовища

Зміна змінної середовища

source environment_setup.sh>

Щоб перевірити зміни, ви можете повторити змінну середовища:

echo $MY_ENV_VARIABLE>

Пояснення:

  • Команда джерела виконує сценарій ‘environment_setup.sh’, який експортує змінну ‘MY_ENV_VARIABLE’.
  • Після отримання джерела сценарію змінна середовища «MY_ENV_VARIABLE» стає доступною в поточному сеансі оболонки, про що свідчить відтворення її значення.

Завантаження конфігураційних файлів:

Багато програм у Linux покладаються на конфігураційні файли. За допомогою команди джерела ці конфігураційні файли можна завантажити безпосередньо в поточну оболонку, гарантуючи, що зміни набудуть чинності негайно.

Розглянемо сценарій, коли ви внесли зміни у свій файл конфігурації «.bashrc», наприклад додали новий псевдонім:

# Додайте псевдонім до .bashrc

псевдонім myalias=’ls -la’

Тепер скористаємося командою джерела, щоб завантажити оновлений файл конфігурації в поточну оболонку:

source ~/.bashrc>

Тепер ви можете використовувати щойно доданий псевдонім «myalias»:

myalias>
Завантаження файлу конфігурації

Завантаження файлу конфігурації

Пояснення:

  • Команда джерела завантажує оновлений файл «.bashrc» у поточний сеанс оболонки, включаючи будь-які зміни, внесені до псевдонімів або інших конфігурацій.
  • Після пошуку «.bashrc» щойно доданий псевдонім «myalias» стає доступним для негайного використання, що демонструється шляхом його виконання та перерахування вмісту поточного каталогу.

Визначення функцій оболонки:

Функції оболонки, визначені в сценарії, можуть бути доступні в поточному сеансі оболонки шляхом отримання сценарію, що містить ці функції.

Припустімо, що у вас є скрипт під назвою «my_functions.sh», який визначає функцію оболонки:

# мої_функції.sh
#!/bin/bash
# Визначити функцію оболонки

my_function() {
echo Це моя спеціальна функція
}

java тривалість

Тепер давайте використаємо команду source, щоб зробити цю функцію доступною в поточній оболонці:

source my_functions.sh>

Тепер ви можете викликати функцію безпосередньо в оболонці:

my_function>
Визначення функцій оболонки

Визначення функцій оболонки

Пояснення:

  • Команда джерела виконує сценарій «my_functions.sh», який визначає функцію оболонки під назвою «my_function».
  • Після отримання сценарію функція «my_function» стає доступною для негайного використання в поточному сеансі оболонки, що демонструється її викликом і повторенням її повідомлення.

Висновок

Підсумовуючи, команда «джерело» в Linux служить потужним інструментом для бездоганної інтеграції команд, налаштувань і функцій із зовнішніх файлів безпосередньо в поточне середовище оболонки. Діючи як провідник між термінальним сеансом і файлами, що містять інструкції, команда «джерело» виконує команди в зазначеному файлі так, ніби вони були введені безпосередньо в термінал. Це дозволяє динамічно змінювати змінні середовища, виконувати сценарії оболонки, завантажувати конфігураційні файли та доступність користувацьких функцій оболонки в поточному сеансі оболонки. Використовуючи можливості команди «source», користувачі Linux можуть підвищити продуктивність і ефективність системного адміністрування та завдань розробки, відкриваючи новий рівень майстерності та гнучкості командного рядка.