在Xcode中运行没有环境变量的shell脚本?

时间:2010-09-01 14:17:21

标签: xcode environment-variables shell

Xcode在运行shell脚本时设置了与构建相关的各种环境变量。 有没有办法在不设置这些变量的情况下运行shell脚本?

1 个答案:

答案 0 :(得分:3)

我有一个解决方案。 在Run Script Phase目标阶段使用此方法: https://serverfault.com/questions/176966/how-to-continue-execution-of-shell-script-after-calling-other-shell-script-with/176976#176976

这些shell命令在忽略当前环境中的变量的情况下运行以下命令。

env -i <command>
exec -c <command>

例如,我使用了这个脚本:

env -i ./makeall.sh

这会禁用Xcode的所有预定义变量,因此脚本不受Xcode配置的影响,但它也不太有用,因为我们不能使用与Xcode路径相关的构建。

但是,您可以像这个脚本一样传递特定的Xcode变量。

build()
{
    # Don't know why, however, the environment variable passed to external script even with "env -i".
    env -i ./makeall.sh "${SYMROOT}"
}

build