Когда я ввожу например. новый псевдоним в моем .bashrc
файле. Я не могу использовать его в этом окне терминала сразу, и до недавнего времени я думал, что мне нужно перезапустить терминал, чтобы перезагрузить .bashrc
файл. Тогда я где-то узнал, что если я напишу
. .bashrc
это перезагрузит .bashrc
файл в текущем окне, и мне не нужно перезапускать. Это работает плавники, но что на самом деле происходит? Почему это перезагрузить .bashrc
файл?
.
«источника» файла. Это означает, что он выполняется в основномОтветы:
Потому
.
что это команда.Это встроенная команда оболочки, которая читает указанный файл и выполняет команды в нем в текущем процессе оболочки.
Оболочка Bourne Again также имеет
source
синоним этой команды. Но это Bashism (который оболочка Bourne Again взяла из C Shell). Хотя это Bashism, который оболочка Bourne Again разделяет с оболочкой TENEX C, Z Shell и другими (но не оболочкой Korn, обратите внимание). Единственная спецификация UNIX только стандартизирует.
.Также обратите внимание, что поведение
.
/source
слегка изменяется в зависимости от того, запускается ли оболочка Bourne Again в режиме, совместимом с POSIX, или нет. (Опять же, это похоже на другие оболочки, хотя их нестандартное поведение не совпадает с поведением друг друга. Например, в оболочке Z имеется механизм скомпилированных сценариев оболочки, которыйsource
несколько отличается от.
обработки пути поиска. The Korn shell.
будет выполнять функции оболочки, для другого примера.)~/.bashrc
это всего лишь один из нескольких файлов, содержимое которых (в зависимости от того, как вызывается процесс оболочки) автоматически получается при запуске оболочки. Там нет ничего, что запрещает его вручную . Хотя, если его действия не являются идемпотентными, возможно, вам придется поработать над исправлением.дальнейшее чтение
источник
help .
скажу вам:Saying
. .bashrc
выполняет (источник) файл,.bashrc
который делает изменения, внесенные в файл, доступными в текущем сеансе.По умолчанию
~/.bashrc
будет читаться при входе в систему..
это синоним дляsource
.источник
.
Команда это то же самое , какsource
команда, которая выполняет свой.bashrc
файл. Это добавляет все псевдонимы, которые вы определили, и любые другие параметры / переменные оболочки в текущую среду. Соsource
страницы помощи:источник