xcode - 当从 xcode 调用时,我的 bash 脚本没有获取 .bash_profile 中的环境变量

标签 xcode bash shell

在 Xcode 5 中,我有一个执行 bash 脚本的构建阶段。 我的问题是,当从 Xcode 调用该脚本时,它无法访问我在 .bash_profile 中设置的环境变量。

我尝试从 xcode 创建一个environment.plist 文件并在那里复制我的环境变量,但 bash 脚本仍然不知道我的变量。 我能做的一件事是从 myscript 调用 source ~/.bash_profile 。但在我的 bash_profile 中我有这样的行

export PATH=/some/new/path:$PATH

因此每次 xcode 编译我的项目时调用 source ~/.bash_profile 都会一遍又一遍地将/some/new/path 添加到我的路径中。

当从 xcode 调用时,如何使我的脚本了解环境变量?

最佳答案

获取~/.bash_profile没有任何问题。当 Xcode 运行您的脚本时,它会调用该脚本,该脚本将 /some/new/path 添加到 PATH 中,编译您的项目并退出。当 Xcode 再次运行脚本时,新脚本没有更新的 PATH,因为它与之前运行的进程不同。因此 /some/new/path 不会“一遍又一遍”地添加到前面,它在脚本的生命周期中只发生一次。每次编译都会触发一个全新的脚本,它们的环境不共享,PATH不会永远增长。

关于xcode - 当从 xcode 调用时,我的 bash 脚本没有获取 .bash_profile 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20316094/

相关文章:

ios - Objective-C 警告 RunUnitTests 已过时。代码 7

iphone - 从 nib 文件加载 UIView?

iphone - 在 Swift 中设置高帧率录制

linux - bash 命令 history -r 做什么?

Linux:正则表达式执行之间的延迟?/读取目录中的每个文件?

linux - 编写脚本以查看特定进程是否以 root 身份运行

Linux shell,从文件中获取所有匹配项

ios - 如何在 Xcode 的 Interface Builder 中一次编辑多个约束

bash - Bash 的内联注释?

shell - 将 jenkins 管道中设置的变量传递给 shell 脚本