【发布时间】: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"",我只是不知道如何转义引号:'
【问题讨论】:
我想在travis文件中执行命令,它是由yaml配置文件中的bash执行的:
before_script:
- psql -c 'create role "user" WITH LOGIN PASSWORD '1234'' -U postgres
但显然我得到了错误:ERROR: syntax error at or near ""1234"",我只是不知道如何转义引号:'
【问题讨论】:
这不是 yaml 问题,它只涉及您的 travis 构建启动的 shell。
shell 字符串中单引号内的单引号被转义为双单引号(有关更多信息,请参阅this link 以及其他许多信息)
psql -c 'create role "user" WITH LOGIN PASSWORD ''1234''' -U postgres
【讨论】:
有时验证 YAML 语法会更好,但它失败的原因可能会让您大吃一惊:
使用这个很棒的工具:YAML Formatter
【讨论】: