首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从fish $PATH永久删除路径?

如何从fish $PATH永久删除路径?
EN

Stack Overflow用户
提问于 2016-01-20 21:39:19
回答 1查看 6.7K关注 0票数 12

这个问题已经被问到,并在这里得到了回答:https://superuser.com/a/940041/293429

但是,所提供的解决方案:执行set -e PATH[<index-of-the-path-to-be-removed]只适用于正在运行的实例,并不是普遍有效的。

执行该命令后,如果执行echo $PATH,将再次发生先前删除的路径。

完全重置路径的一种方法是执行:set -U fish_user_paths,但我不清楚它是做什么的。

真正的诀窍是找到如何删除手动添加的路径,并使其在全球范围内可用--不仅仅是对当前实例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 23:42:34

有两种方法可以做到这一点,哪一种方法是有效的取决于路径是如何进入$PATH的。

可以通过例如$PATH向set PATH $PATH /some/dir添加目录。至少在默认情况下,PATH是一个全局变量,这意味着它是每个会话。这意味着从$PATH中更改某些内容,或者从添加它的地方删除它(因为它继承了它,所以很可能在fish之外),或者将set -e调用放在您的~/..config/set -e/config.fish中,以便在每次启动时都执行它。

还有一个$fish_user_paths,它是一个通用变量(意味着它在fish会话之间携带相同的值,并且在它们之间同步)。启动时,无论何时修改fish_user_paths,fish都会将其添加到$PATH中。如果此处添加了违规目录,请执行set -e fish_user_paths[index]一次(例如在交互式会话中)。

set -e fish_user_paths将删除整个变量(而set -U fish_user_paths将清除它),该变量也将工作,但也将删除所有其他路径。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34911115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档