gpt4 book ai didi

bash - 是否可以在 Makefile 中设置环境变量 - 之后使用

转载 作者:行者123 更新时间:2023-12-01 09:44:36 25 4
gpt4 key购买 nike

我正在尝试在 Makefile 中设置一个环境变量,以便它可以在 sam shell 中运行的另一个程序中使用,如 make ,但在 make 之后已经运行。

更新:根据已接受的带有评论的答案,这是不可能的。

脚步:

  • 运行 make test设置环境:export TEST_ENV_ONE=OneString
  • 运行另一个程序,可以读取 TEST_ENV_ONE

  • 试过这个:

    不工作:
    test:
    export TEST_ENV_ONE=OneString
    $(shell export TEST_ENV_TWO=TwoString)

    之后这是空的:
    echo $TEST_ENV_ONE
    echo $TEST_ENV_TWO

    最佳答案

    您的 export TEST_ENV_ONE=OneString以上是在专用 shell 中运行。后续命令在其他 shell 实例中运行。因此,它们不继承环境变量 TEST_ENV_ONE .

    您可以使用顶级(即不在目标的配方中) export directive在生成文件中:

    export env_var := MyEnvVariable

    .PHONY: all
    all:
    echo env_var: $$env_var

    这样,变量 env_var导出到将执行配方的 shell 。

    如果您运行 make使用上面的makefile:
    $ make
    echo env_var: $env_var
    env_var: MyEnvVariable

    从输出中可以看出,运行 echo env_var: $env_var 的 shell有变量 env_var在它的环境中。

    关于bash - 是否可以在 Makefile 中设置环境变量 - 之后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114730/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com