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 启动时自动获取的几个文件之一。没有什么可以禁止它被手动采购。尽管如果它的操作不是幂等的,您之后可能需要做一些修复工作。
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |