Потому .
что это команда.
Это встроенная команда оболочки, которая читает указанный файл и выполняет команды в нем в текущем процессе оболочки.
Оболочка 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
это всего лишь один из нескольких файлов, содержимое которых (в зависимости от того, как вызывается процесс оболочки) автоматически получается при запуске оболочки. Там нет ничего, что запрещает его вручную . Хотя, если его действия не являются идемпотентными, возможно, вам придется поработать над исправлением.
дальнейшее чтение
.
«источника» файла. Это означает, что он выполняется в основном