こんにちは、所有者と一緒にデータベースを作成しようとしています!デフォルトでは、所有者はpostgresであり、ユーザーがデータベースを作成するときにそれを変更したいと思います。
read -p "Enter owner database name : " $owner
read -p "Enter database name : " $my_db
sudo -i -u postgres psql -c 'CREATE DATABASE $my_db OWNER $owner'
この行をテストしましたが、データベース名が「owner」として作成されました。
誰でも私を助けることができますか? ?
答え1
あなたのコードスニペットには2つの問題があります。
$owner
存在するread -p "Enter owner database name : " $owner
拡大する変数
owner
でなければなりません。read -p "Enter owner database name : " owner
いいえ。
$
$my_db
一重引用符
sudo -i -u postgres psql -c 'CREATE DATABASE $my_db OWNER $owner'
$my_db
との拡張を防ぎます$owner
。しなければならないsudo -i -u postgres psql -c "CREATE DATABASE $my_db OWNER $owner"
(一重引用符の代わりに二重引用符を使用することに注意してください)完全な説明は次のとおりです。シェルの「...」、「...」、$'...'、および$"..."引用符の違いは何ですか?