8

我正在运行 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 工具和/或我的语法有什么问题 EDIT:[如果有的话]?

4

1 回答 1

17

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

export在这种情况下(除了由于 改变变量本身)所做的一切=都是标记一个变量,以便将其导出到未来命令的环境中。

您可以随意标记它。两个命令的效果:

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,那么如果您尝试获取目录列表,这可能会让您感到困难。出于这个原因,我倾向于只将目录添加到路径的末尾

或者,您可以通过提供一个别名或函数来使订单不那么永久,该别名或函数仅在当前会话中将您的路径更改为 Heroku 首选的路径。


请记住,运行的文件bash是一件复杂的事情.bashrc为交互式非登录 shell 运行,因此可能并非在所有情况下都运行(我,一方面,通过.bashrc在我的末尾调用来解决这个问题,.bash_profile尽管有些人可能会畏缩)。

您最好在.bash_profile.


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

  • echo $PATH在每个export命令之前和之后查看是否有东西塞满它。
  • 确保路径中的每个组件确实存在(即,您在其中有正确的目录)。
于 2014-03-20T01:38:32.153 回答