gpt4 book ai didi

bash - 我可以在 .bashrc 中导出 PATH 两次吗?

转载 作者:行者123 更新时间:2023-11-29 08:58:55 24 4
gpt4 key购买 nike

我正在运行 Ubuntu 12.04 并尝试使用 Heroku CLI 以及新下载的 AWS Elastic Beanstalk CLI 工具。

我的 .bashrc 中已经有这段代码:

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

我也想导出这个:

#for Elastic Beanstalk - madebyian
export PATH=$PATH:/opt/AWS-ElasticBeanstalk-CLI-2.6.0/eb/linux/python3/

我如何获得这两个 CLI 工具和/或我的语法编辑有什么问题:[如果有的话]?

最佳答案

您可以根据需要多次导出它,这不会有任何区别(显然是在第一次导出之后)。

所有 export 在此上下文中所做的(除了由于 = 而更改变量本身)都是标记一个变量,以便将其导出到 future 命令的环境中。

您可以根据需要标记它。两条命令的效果:

export PATH="/usr/local/heroku/bin:$PATH"
export PATH=$PATH:/opt/AWS-ElasticBeanstalk-CLI-2.6.0/eb/linux/python3/

将把 PATH 标记为导出变量(它可能已经如此,因为您通常希望继承您的路径)并将其设置为:

/usr/local/heroku/bin:$PATH:/opt/AWS-ElasticBeanstalk-CLI-2.6.0/eb/linux/python3/

$PATH 是执行这些命令之前的路径。

您唯一需要注意的是顺序。例如,如果 /usr/local/heroku/bin 包含一个名为 ls 的可执行程序,如果您试图获得一个目录列表。出于这个原因,我倾向于只将目录添加到路径的结尾

或者,您可以通过提供一个别名或函数来使顺序不那么永久,这只会将您的路径更改为当前 session 的 Heroku 首选路径。


请记住,bash 运行的文件是 complex matter . .bashrc 是为交互式非登录 shell 运行的,因此可能不会在所有情况下都运行(我,例如,通过在我的 .bash_profile 尽管有些人可能对此感到畏缩)。

您最好在 .bash_profile 中设置(和导出)路径。


并且,如果您正在做的事情有问题(您的语法 看起来不错,但可能存在其他问题,由于缺乏信息我们无法辨别),您应该执行以下步骤:

  • echo $PATH 在每个 export 命令之前和之后,看看是否有东西塞满了它。
  • 确保路径中的每个组件确实存在(即,您在其中具有正确的目录)。

关于bash - 我可以在 .bashrc 中导出 PATH 两次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com