gpt4 book ai didi

Julia 使用环境变量 : Don't interpolate $ 运行外部程序

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

我正在尝试从 Julia 运行 shell 命令,该命令需要将环境变量设置为某个特定值。我有两个问题:

  • 如何设置 Julia 使用的环境变量
    run(command, args...; wait::Bool = true)命令?
  • 如何通过特殊标志$这个过程不用插值吗?我想测试该变量是否可用于我的程序。

  • 到目前为止我做了什么:

    假设我想定义一个环境变量 FOO=bar并使用 shell 命令 echo $FOO 检查它是否可以在 shell 中访问.

    防止 Julia 插值 $我已经像在 official documentation 中解释的那样引用了它但随后 echo 正在打印 $PATH而不是它的值(value)。

    所以对于 FOO我得到以下输出
    julia> run(`echo '$FOO'`)
    $FOO
    Process(`echo '$FOO'`, ProcessExited(0))

    但会期待类似的东西
    julia> run(`echo '$FOO'`)

    Process(`echo '$FOO'`, ProcessExited(0))

    如果 FOO未定义或
    julia> run(`echo '$FOO'`)
    bar
    Process(`echo '$FOO'`, ProcessExited(0))

    如果该值设置为 bar .

    最佳答案

    查看 Julia documentation on environment variables .您可以使用以下命令设置环境变量:

    julia> ENV["FOO"] = "bar"
    "bar"

    您可以使用以下命令检索环境变量的值:
    julia> ENV["FOO"]
    "bar"
    julia> ENV["PATH"]
    "really long string of my path"

    正如您已经说过的,您可以避免解释 $通过单引号引用您 run 的那部分命令。我不完全确定你在那里寻找什么。

    关于Julia 使用环境变量 : Don't interpolate $ 运行外部程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57394750/

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