有什么作用。.bashrc 究竟有没有用?

Spa*_*ade 13 linux terminal bash command-line bashrc

当我输入一个例如。在我的.bashrc文件中添加了一个新别名我无法立即在该终端窗口中使用它,直到最近我认为我必须重新启动终端才能重新加载.bashrc文件。然后我在某处发现如果我写

. .bashrc
Run Code Online (Sandbox Code Playgroud)

这将.bashrc在当前窗口中重新加载文件,我不必重新启动。这对鳍有效,但实际发生了什么?为什么这会重新加载.bashrc文件?

Jde*_*eBP 17

因为.是命令。

它是一个 shell 内置命令,它读取命名文件并在当前 shell 进程中执行其中的命令。

Bourne Again shell 也source作为这个命令的同义词。但这是一种 Bashism(Bourne Again shell 从 C Shell 中获取)。尽管 Bourne Again shell 与 TENEX C Shell、Z Shell 和其他(但不是 Korn shell,请注意)共享它是一种 Bashism。单一 UNIX 规范仅标准化..

另请注意,./的行为source会根据 Bourne Again shell 是否在其 POSIX 兼容模式下运行而发生微妙的变化。(同样,这和其他 shell 一样,虽然它们的非标准行为与其他 shell 不同。例如,对于 Z Shell,有一种预编译的 shell 脚本机制,并且在其搜索路径处理上source略有不同.。Korn shell.将运行 shell 函数,例如。)

~/.bashrc只是其内容(取决于 shell 进程的调用方式)在 shell 启动时自动获取的几个文件之一。没有什么可以禁止它被手动采购。尽管如果它的操作不是幂等的,您之后可能需要做一些修复工作。

进一步阅读