如何在不注释的情况下取消 .bashrc 中的源项的源?我想让源项在 .bashrc 文件中不起作用。具体项是 .bashrc 中的“source ~/miniconda3/bin/activate”。我不想注释它,因为这很不方便。所以我想有没有什么办法可以做到这一点?
答案1
不,通常不能“撤消”已“来源”的内容,因为它会直接更改当前环境。唯一可以“撤消”更改的方法是,以某种方式存储旧环境,以便将其恢复为原始值。
例如,如果某个文件的foo.env
来源是 ( source foo.env
),并且它更改PATH
为包含$HOME/mystuff/bin/
,那么撤消这些更改的唯一方法是记住foo.env
最初的内容PATH
,例如,通过设置类似 的内容OLD_PATH=$PATH
,然后运行某些操作将所有内容设置回其原始值。(请注意,这并不总是可靠的,并且在来源之后所做的任何更改都foo.env
将丢失。)
就 anaconda (miniconda) 而言,这是您在 中引用的命令.bashrc
,确实有这样一个程序。它通过运行deactivate
或之类的命令来调用conda deactivate
,这应该会“撤消” 导致的环境更改~/miniconda3/bin/activate
。