【问题标题】:How to remove a directory from $PATH on MacOS如何在 MacOS 上从 $PATH 中删除目录
【发布时间】:2022-01-12 16:39:58
【问题描述】:

我想从我的 PATH 目录中删除一个目录。

当我运行 echo $PATH 时,我得到以下响应:

/Users/USERNAME/opt/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

anaconda3 早就应该消失了,但不知何故还在那里。但是,当我运行which python 时,我得到/usr/bin/python,我对发生的事情感到非常困惑

【问题讨论】:

  • 更新你的~/.bash_profile如果你使用bash否则更新你~/.zshrc如果你使用zsh
  • @gold_cy 请考虑回答。不应使用评论作为答案(请参阅"When shouldn't I comment?")。
  • 我觉得这不是一个值得回答的问题,因为它是如此简单但可以肯定,我可以添加一个答案

标签: python macos terminal path


【解决方案1】:

首先通过从命令行运行以下命令来确定您正在使用哪个 shell。

ps -p$$ -ocommand=

如果输出是zsh,您应该更改${HOME}/.zshrc 中的$PATH 变量。

如果输出是bash,您应该更改${HOME}/.bash_profile 中的$PATH 变量。不过这里有一个警告,如果您的 shell 作为交互式非登录 shell 调用,那么应该对您的 ${HOME}/.bashrc 进行更改,因为您的 ${HOME}/.bash_profile 应该只有以下内容,if [ -f ~/.bashrc ]; then . ~/.bashrc; fi。你可以阅读更多关于这个here的信息。

【讨论】:

  • .zprofile 将是更改PATH 等环境变量的首选位置,因为.zshrc 将由已经从其父级继承PATH 的shell 获取。
  • 如果他们使用的是交互式外壳,那么 .zshrc 应该是此信息所在的位置,所以我不得不在那儿不同意您的意见
  • 不,因为这样您每次创建新外壳时都会重复将同一目录添加到PATH。只需将它一次添加到初始登录 shell,其他 shell 将从那里继承路径。
  • 老实说,我会将.zprofile 留空并将所有这些信息放入.zshrc,如果其中有一些数据,请将其复制到.zshrc
猜你喜欢
  • 2021-09-16
  • 2020-04-23
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 2020-01-21
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多