![如何执行 .profile 文件中的函数](https://linux22.com/image/23418/%E5%A6%82%E4%BD%95%E6%89%A7%E8%A1%8C%20.profile%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%87%BD%E6%95%B0.png)
我有一个函数应该从我的PATH
环境变量中删除目录的重复副本。我创建了一些重复项,以便我可以测试它,但我不知道如何:
1)将脚本放入$HOME/.bashrc
文件中
答案1
只需编辑该.bashrc
文件(最好先复制原始文件,以防万一),然后将要执行的脚本名称添加到文件中(在文件底部.bashrc
就可以了)。
如果脚本不在您的主目录中,请务必指定完整路径。
答案2
环境变量的正确文件(例如PATH
is not ~/.bashrc
but )~/.profile
。.bashrc
是交互式 shell 的配置文件;.profile
是会话启动脚本。看是否有一个所有 shell 都能读取的“.bashrc”等效文件?。
Bash 的启动文件有点特殊:在登录 shell 中,它会读取启动文件~/.bash_profile
是否存在,~/.profile
否则读取。在交互式非登录 shell 中,它读取为~/.bashrc
。没有理由不在交互式登录 shell 中加载交互式设置,并且在许多设置中,会话启动 shell 不会作为登录 shell 调用,而是~/.profile
显式读取。所以让你~/.bash_profile
只包含这两行:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
如果 中 有内容,如果它们是环境变量设置之类的内容,~/.bash_profile
则将它们移至;如果它们是交互式 shell 配置(例如别名和键绑定),则将它们移至 。把你所有的操纵都放进去。~/.profile
~/.bashrc
PATH
~/.profile