Спробуйте скористатися man sh
або man bash
довідковою сторінкою для будь-якої оболонки, яку ви використовуєте. (Можливо man $SHELL
.)
Це офіційно називається не командою «точка», а source
командою. Пошук слова source
може бути корисним.
наприклад, сторінка bash man (пошук "кожної вбудованої команди"), і ви швидко знайдете документацію.
Що стосується пояснення використання, я можу це зробити прямо тут. Я просто буду називати це source
командою, визнаючи, що її можна скоротити лише до періоду, коли ви використовуєте деякі оболонки, і з деякими оболонками, яка може знадобитися командою (бо крапка може бути розпізнана, але все слово source
може не бути).
Якщо ви використовуєте source
команду, ваша оболонка прочитає кожен рядок із файлу сценарію та спробує виконати її. Вам потрібні дозволи "прочитати" файл. (Не має значення, якщо у вас є "виконати" дозволи.) Якщо ви зміните змінну, це схильне впливати на вашу поточну оболонку.
Якщо, з іншого боку, ви просто спробуєте виконати файл, тоді ваша оболонка попросить операційну систему подбати про цей запит. Для цього знадобляться дозволи "виконати". (У деяких системах, таких як OpenBSD, для цього вам не знадобляться дозволи на "читання". У інших системах, включаючи безліч варіацій Unix, вам знадобиться.) Файлу, можливо, потрібно буде починати з відповідного заголовка (наприклад, #!/bin/sh
), тому операційна система розпізнає це як файл сценарію. Операційна система виконає копію запитуваної оболонки і скаже цій оболонці для запуску вмісту скрипту. Якщо середовище оболонки змінено (наприклад, змінна отримує нове значення, робочий каталог змінюється (з cd
), дескриптор файлу перенаправляється (з exec
) і т. д.), він впливатиме лише на під-оболонку, яку викликали для сценарію, і не може змінити середовище в батьківській оболонці, яка викликала файл сценарію.