【问题标题】:bash export variable declared inside another variable with spacesbash 导出变量在另一个带空格的变量中声明
【发布时间】:2014-04-24 08:09:20
【问题描述】:

我有以下代码:

export VAR1=FINAL_VAL="\"--value1 --value2\""
export $VAR1

执行此操作后,我希望 FINAL_VAR=--value1 --value2,但在第二次导出时,我得到“bash: export: `--value2"': not a valid identifier”,就像没有检测到引号一样正确,如果我执行

echo export $VAR1

我明白了

export FINAL_VAL="--value1 --value2"

如果将其复制并粘贴到控制台中,我将得到 FINAL_VAR=--value1 --value2,但是当从 export (export $VAR1) 或 from (`echo export $VAR1`) 执行时,它不会导出。

似乎它不喜欢/检测到引号,但我尝试了很多方法,但没有任何运气。

有没有人遇到过这样的事情,可以告诉我如何解决它?

先谢谢了,

【问题讨论】:

    标签: bash variables export spaces


    【解决方案1】:

    你必须做export "$VAR1",注意引号

    【讨论】:

      【解决方案2】:

      你可以摆脱错误

      export: `--value2"': not a valid identifier 
      

      简单引用:

      export "$VAR1"
      

      当你这样做时它没有被导出

      (export $VAR1) 
      

      (`echo export $VAR1`) 
      

      因为您将其导出到命令退出后立即存在的子shell () 中。如果你需要将一些变量导出到 shell 环境,你不应该使用它,因为 subshel​​l(父 shell 的子 shell)不能修改父 shell 的环境。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-14
        • 1970-01-01
        • 1970-01-01
        • 2020-01-14
        • 1970-01-01
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多