Version 0.6eval expression with environment variables
我想在环境变量中使用julias -e(val)选项。我怎样才能做到这一点?
实施例:
y=10
echo $y
julia -e 'println($y)'
回波作品,如所预期。但茱莉亚线不起作用。 ERROR: unsupported or misplaced expression $
。现在我该如何做这项工作?
我用ENV [“y”]试过,但没有找到变量。
Version 0.6eval expression with environment variables
我想在环境变量中使用julias -e(val)选项。我怎样才能做到这一点?
实施例:
y=10
echo $y
julia -e 'println($y)'
回波作品,如所预期。但茱莉亚线不起作用。 ERROR: unsupported or misplaced expression $
。现在我该如何做这项工作?
我用ENV [“y”]试过,但没有找到变量。
这个问题不是真的与朱莉娅有关,而是更多的与壳有关。 shell不会替换'
(单引号)包围的字符串中的环境变量,但会将其替换为双引号字符串(由"
包围)。因此,解决办法是做:如果你想使用$
标志在朱莉娅表达或"
本身
julia -e "println($y)"
的问题变得更加复杂 - 这些有记载转义规则。参见,例如:
您也可以确实使用ENV
变量。环境变量是not available to subprocesses unless they are export
ed。所以你的代码的修改,
export y=10
echo $y
julia -e 'println(ENV["y"])'
会正常工作。