【问题标题】:Set up of environment variable PATH in bash shell在 bash shell 中设置环境变量 PATH
【发布时间】:2012-10-01 23:21:19
【问题描述】:

与 QA 相比,PROD 中的 Environment PATH 大得多:

PATH=.:/home/imc:/home/imc/bin:$HOME:/usr/local/sbin:$PATH

我们在 PROD 和 QA 中使用相同的设置环境文件,但我们仍然发现差异。

较长的路径意味着它会在运行作业时产生影响。那么知道如何改进 PATH 吗?

【问题讨论】:

  • 以这种方式设置 PATH 只会将一些值添加到现有值。因此,在运行安装文件之前,您需要检查 PATH 的设置位置。

标签: linux bash unix environment-variables


【解决方案1】:

确保 QA 和 PROD 在其 .bashrc 中使用相同的 PATH 赋值语句并且不要引用 $PATH。这样,您可以保证 PATH 是相同的,无论在 .bashrc 之前执行的其他启动文件用于修改 PATH。例如

# Assign a short and sweet PATH.
PATH=$(/usr/bin/getconf PATH):$HOME/bin:/usr/local/sbin

请注意,出于安全原因,将. 放在PATH 中是一种嘘声。另一方面,PATH 中的目录数量很可能影响脚本的速度。 Bash 保留实用程序位置的哈希值,并且查找持续时间与恒定时间相差不远。

【讨论】:

  • 您好 jens,感谢您的回复,但是当我使用命令 echo $PATH 时,它显示了另一个不同的路径。
  • 那你使用的启动文件不一样。将echo Here 语句放在.bashrc.profile 中以验证运行的是哪个语句。另一个原因可能是 PROD 和 QA 使用不同的 Linux 系统。 uname -a 在这两种情况下输出什么?
  • Linux tryprimpfapp1.intra.searshc.com 2.6.18-194.17.4.el5xen #1 SMP Wed Oct 20 13:11:50 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
  • PROD 和 QA 是否有可能使用不同的 shell? (比如说,ksh、zsh、pdksh、ash)? echo $SHELL 对 PROD 和 QA 有何意义?
  • 产品和质量检查结果相同
猜你喜欢
  • 1970-01-01
  • 2011-04-17
  • 2016-11-29
  • 2011-07-23
  • 2018-06-27
  • 2016-03-14
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多