.bash_profile 中的 . 是什么意思?

.bash_profile 中的 . 是什么意思?

该命令. .bash_profile用于重新加载(?) bash_profile。第一个的一般用途是什么.?如何使用它,是否有资源可以阅读有关这些终端类型符号的信息?

答案1

该命令.是 shell 内置命令。它会执行您作为参数提供的 shell 脚本,但会在您当前的 shell 环境中执行。这也称为“获取”脚本。source因此,在 Bash 中,是 的同义词.(但例如不在shPOSIX 标准中)。另请参阅“source” 和 “.” 有什么区别?

获取脚本(如. ~/.bashrc)与定期运行脚本(如~/.bashrc)不同,如果您正常运行它,它将在子 shell 中运行,而不是在当前 shell 环境中运行。

子 shell 有自己的工作目录、shell 选项和局部变量,因此在脚本中更改它们(例如通过使用cd或设置/更改变量)不会影响父 shell。如果您运行脚本,它也只能读取它所export修改的父 shell 的局部变量,而不是常规变量。

如果您想允许脚本修改当前环境(例如更改 shell 选项、设置环境变量、创建别名和函数以供使用等),例如.bashrc,则必须对其进行 source 操作。如果您只是运行它,那么一旦它退出并返回到您的 shell 环境,其所有更改都将丢失。

可以通过运行help .help source和来获取更多信息man bash(有关 shell 内置命令的部分)

相关内容