我有一台Red Hat Linux机器,我不是root用户。
在我的主文件夹中,我将其添加到我的.bash_profile
和.bashrc
:
export PATH=/path/to/my/directory:$PATH
然后,我运行了./.bash_profile
和./.bashrc
。
但是,$PATH
未更新。
知道为什么会这样吗?
答案 0 :(得分:2)
当你运行这些文件时 - 就像你通常执行任何脚本一样 - 它们是在一个单独的shell中执行的,并且对shell的状态(工作目录,变量等)的更改是当那个外壳退出时丢失了。如果目标是更改您正在操作的交互式shell的状态,则需要源它们。
语法如下:
source .bashrc # on extended shells such as bash only
. .bashrc # or on any POSIX-compliant shell
空间至关重要; ./.bashrc
将尝试使用自己的解释器运行.bashrc
作为可执行文件,而. .bashrc
使用http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_18中记录的.
命令来执行当前解释器中文件的内容。
答案 1 :(得分:0)
您需要获取.bash_profile来获取当前shell中的更改。