【问题标题】:yaml parse erroryaml解析错误
【发布时间】:2018-04-25 15:27:17
【问题描述】:

当我运行 helm install 命令时,下面的行给了我错误:

args: [while [ 1 ]; do echo "hi" ; sleep 1; done;]

错误:

Error: YAML parse error 
converting YAML to JSON: yaml: line 27: did not find expected ',' or ']'

【问题讨论】:

    标签: kubernetes kubernetes-helm


    【解决方案1】:

    方括号在 YAML 中具有特殊含义(它们表示流序列,即内联数组)。您需要引用该标量(字符串):

    args: [ 'while [ 1 ]; do echo "I am awake" ; sleep 1; done;' ]
    

    ...或将其设为块标量并使用文字指示符|:

    args:
      - |
        while [ 1 ]; do echo "I am awake" ; sleep 1; done;
    

    这两个produce the same JSON:

    {
      "args": [
        "while [ 1 ]; do echo \"I am awake\" ; sleep 1; done;"
      ]
    }
    

    【讨论】:

    • @hmims 啊,args 应该是一个序列(数组)而不是标量(字符串)是有道理的。我已经编辑了我的答案。
    猜你喜欢
    • 2019-01-20
    • 2016-10-26
    • 1970-01-01
    • 2018-10-13
    • 2011-06-26
    • 1970-01-01
    • 2021-06-12
    • 2015-08-17
    相关资源
    最近更新 更多