【问题标题】:Yaml with bash: escaping quotes in string带有 bash 的 Yaml:在字符串中转义引号
【发布时间】:2020-01-21 14:17:06
【问题描述】:

我想在travis文件中执行命令,它是由yaml配置文件中的bash执行的:

before_script:
 - psql -c 'create role "user" WITH LOGIN PASSWORD '1234'' -U postgres

但显然我得到了错误:ERROR: syntax error at or near ""1234"",我只是不知道如何转义引号:'

【问题讨论】:

    标签: bash yaml travis-ci


    【解决方案1】:

    这不是 yaml 问题,它只涉及您的 travis 构建启动的 shell。

    shell 字符串中单引号内的单引号被转义为双单引号(有关更多信息,请参阅this link 以及其他许多信息)

    psql -c 'create role "user" WITH LOGIN PASSWORD ''1234''' -U postgres
    

    【讨论】:

      【解决方案2】:

      有时验证 YAML 语法会更好,但它失败的原因可能会让您大吃一惊:

      使用这个很棒的工具:YAML Formatter

      【讨论】:

        猜你喜欢
        • 2013-10-19
        • 1970-01-01
        • 2015-10-27
        • 2015-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        相关资源
        最近更新 更多