【问题标题】:Environment variables not being appearing correctly in bash script环境变量未在 bash 脚本中正确显示
【发布时间】:2018-02-08 06:11:06
【问题描述】:

试图添加一个名为 abc 的数据库,但 postgresql 却创建了一个名为 NEW_DATABASE 的数据库。

export NEW_DATABASE=abc
psql -U postgres -c 'create database "$NEW_DATABASE";'

省略双引号会报错

ERROR:  syntax error at or near "$"
LINE 1: create database $NEW_DATABASE;

【问题讨论】:

    标签: linux bash psql


    【解决方案1】:

    替换:

    psql -U postgres -c 'create database "$NEW_DATABASE";'
    

    与:

    psql -U postgres -c "create database \"$NEW_DATABASE\";"
    

    问题在于 shell 变量没有在单引号内展开。如果要扩展 shell 变量,请使用双引号。

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 2017-10-26
      相关资源
      最近更新 更多