Создание БД как пользователя без sudo + с использованием переменных - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь создать базу данных psql с помощью сценария оболочки, я не хочу добавлять исполнителя сценария в файл sudoer.

Мы можем запустить команду ниже, если я дам пользователю права sudo, яхочу сделать это без каких-либо дополнительных прав для обычного пользователя.

sudo -u username createdb $dbname

read -e dbname
psql -U secureall -c 'create database $dbname;'

Я смог прочитать имя базы данных, но команда не принимает никаких переменных.

[username@localhost ~]$ psql -U username -c 'create database $dbname;'
ERROR:  syntax error at or near "$"
LINE 1: create database $dbname;

Как сделатьЯ использую переменные в наборе команд БД или есть обходной путь?

1 Ответ

0 голосов
/ 07 февраля 2019

Как насчет использования двойных кавычек вместо одинарных.Переменная интерполяция не будет происходить с одинарной кавычкой.

psql -U username -c "create database $ dbname;"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...