此連接字串適用于 psql:
psql "password='${INPUT_PASSWORD}' dbname=analytics host='${INPUT_HOST}' user=analytics port=32648"
我想讓它更具可讀性,嘗試過:
psql "password='${INPUT_PASSWORD}'"
"dbname=analytics"
"host='${INPUT_HOST}'"
"user=analytics"
"port=32648"
給 "error: could not connect to server: No such file or directory"
然后嘗試:
psql "password='${INPUT_PASSWORD}'" \
"dbname=analytics" \
"host='${INPUT_HOST}'" \
"user=analytics" \
"port=32648"
這給出了相同的錯誤。
有沒有辦法可以將字串拆分為多行,并且仍然被 Postgres 接受為連接字串?
uj5u.com熱心網友回復:
您第二次嘗試的問題在于您在每個引數及其后面的反斜杠之間注入了未加引號的空格。由于空格旨在出現在引數中,因此也需要參考它們。
psql "password='${INPUT_PASSWORD}' "\
"dbname=analytics "\
"host='${INPUT_HOST}' "\
"user=analytics "\
"port=32648"
使用bash,我會改為定義一個陣列,并讓陣列引數擴展插入空格。
psql_args=(
"password='$INPUT_PASSWORD'"
dbname=analytics
"host='${INPUT_HOST}'"
user=analytics
port=32648
)
psql "${psql_args[*]}"
(實際上,由于您似乎是自己構建 conninfo 字串,而不是通過其他組態檔接收它,因此我可能會使用選項來指定每條資訊。)
uj5u.com熱心網友回復:
為什么不只是:
psql "password='${INPUT_PASSWORD}'
dbname=analytics
host='${INPUT_HOST}'
user=analytics
port=32648"
(作為答案,因為你不能在評論中做多行)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/333618.html
標籤:猛击
