안녕하세요, 소유자와 함께 데이터베이스를 생성하려고 합니다! 기본적으로 소유자는 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
귀하의 코드 조각에 두 가지 문제가 있습니다.
$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"
(작은따옴표 대신 큰따옴표를 사용하는 것에 유의하세요) 전체 설명은 다음에서 확인할 수 있습니다.셸에서 "...", '...', $'...' 및 $"..." 따옴표의 차이점은 무엇입니까?