Bash 带环境变量的eval表达式

Bash 带环境变量的eval表达式,bash,shell,julia,Bash,Shell,Julia,版本0.6 我想对环境变量使用julias-e(val)选项。我该怎么做 例如: y=10 echo $y julia -e 'println($y)' 正如预期的那样,回音工作正常。但是茱莉亚的路线不起作用错误:不支持或放错了表达式$。现在我该怎么做 我用ENV[“y”]试过了,但没有找到变量。这个问题实际上与Julia无关,而是与shell有关。shell不会将环境变量替换为”(单引号)包围的字符串,而是将它们替换为双引号字符串(由“包围)。因此解决方案是: julia -e "print

版本0.6

我想对环境变量使用julias-e(val)选项。我该怎么做

例如:

y=10
echo $y
julia -e 'println($y)'
正如预期的那样,回音工作正常。但是茱莉亚的路线不起作用<代码>错误:不支持或放错了表达式$。现在我该怎么做


我用ENV[“y”]试过了,但没有找到变量。

这个问题实际上与Julia无关,而是与shell有关。shell不会将环境变量替换为
(单引号)包围的字符串,而是将它们替换为双引号字符串(由
包围)。因此解决方案是:

julia -e "println($y)"
如果要在Julia表达式中使用
$
符号或
本身,问题会变得更加复杂-对于这些问题,有文档化的转义规则。例如,见:


这个问题实际上与朱莉娅无关,而更与贝壳有关。shell不会将环境变量替换为
(单引号)包围的字符串,而是将它们替换为双引号字符串(由
包围)。因此解决方案是:

julia -e "println($y)"
如果要在Julia表达式中使用
$
符号或
本身,问题会变得更加复杂-对于这些问题,有文档化的转义规则。例如,见:


您也可以使用
ENV
变量。环境变量是。所以修改你的代码

export y=10
echo $y
julia -e 'println(ENV["y"])'

很好。

您也可以使用
ENV
变量。环境变量是。所以修改你的代码

export y=10
echo $y
julia -e 'println(ENV["y"])'
那就行了