【发布时间】:2011-09-02 08:30:30
【问题描述】:
我观察到 Xcode 执行的自定义 shell 脚本,在运行脚本阶段,没有设置任何环境变量。他们有大量其他变量,但没有 PATH。
有没有可能解决这个问题,如何解决?我只想运行一个应该在路径中的工具,我不想开始手动检查可能的位置。
【问题讨论】:
标签: xcode bash shell path environment-variables
我观察到 Xcode 执行的自定义 shell 脚本,在运行脚本阶段,没有设置任何环境变量。他们有大量其他变量,但没有 PATH。
有没有可能解决这个问题,如何解决?我只想运行一个应该在路径中的工具,我不想开始手动检查可能的位置。
【问题讨论】:
标签: xcode bash shell path environment-variables
您可以明确地获取用户 .bashrc、.profile 等。或者更好的是,运行类似的东西
PATH=$(bash -l -c 'echo $PATH')
不会冒污染其他变量的风险。
【讨论】:
Ivan Andrus 的回答让我想到了一种我认为更简洁、更完整的方法:完全在新的 shell 中运行脚本。例如:
bash -l -c "./configure --prefix=${DERIVED_FILE_DIR} && make && make install"
我使用双引号进行变量扩展。扩展您需要的任何变量是个好主意,因为任何现有的变量都可能被为新环境创建的变量覆盖。
【讨论】:
你可能想关注这个话题: Setting environment variables in OS X? 我在 environment.plist 上运气不错。
【讨论】: