При использовании оболочки bash я иногда сохраняю переменные окружения в текстовом файле, содержимое которого копирую / вставляю, например, export.txt:
export FOO=bar
export FIZZ=buzz
Кто-то показал мне вместо копирования / вставки, я мог набрать в терминале
. exports.txt
который будет иметь тот же эффект, что и копирование / вставка.
Каков механизм, с помощью которого работает эта команда «имя файла с точечным пространством»? Трудно придумать условия поиска для этого.
Я хочу понять, что происходит, и более общие детали того, что делает этот однострочник.
'. ' args
одинарные или двойные кавычки. В противном случае пространство без кавычек пожирается bash, когда он разбирает строку на токены (см. Разделение слов в руководстве по bash).
.
is source
, которое буквально означает «команды источника из этого файла», по крайней мере для меня.
help .
Это так мало, движок Stack Exchange считает, что он слишком короткий, чтобы быть комментарием.