Bash: выполнить команду с кавычками и поместить ее вывод в переменную - PullRequest
0 голосов
/ 24 февраля 2020

В сценарии bash я задаю команду следующим образом:

getdblist_cmd=(sudo -u $backup_user $psql -p $pgsql_port -U $pgsql_user -d postgres -q -t -c 'SELECT datname from pg_database')

Затем запускаю ее с

dblist=`${getdblist_cmd[@]}`

Я не получаю никакой ошибки в bash script, но переменная $dblist пуста.

Как выполнить эту команду и поместить ее вывод в переменную?

1 Ответ

1 голос
/ 24 февраля 2020
dblist=`"${getdblist_cmd[@]}"`
        ^                   ^

Оператор [@] работает правильно, только если ${...} заключен в кавычки.

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