代码之家  ›  专栏  ›  技术社区  ›  eonil

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

  •  4
  • eonil  · 技术社区  · 14 年前

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

    1 回复  |  直到 14 年前
        1
  •  3
  •   Community CDub    7 年前

    我有个解决办法。 使用此方法 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