Bash:执行带引号的命令并将其输出放入变量

时间:2020-02-24 19:28:00

标签: bash

在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脚本没有任何错误,但是$dblist变量为空。

如何执行该命令并将其输出放入变量中?

1 个答案:

答案 0 :(得分:1)

dblist=`"${getdblist_cmd[@]}"`
        ^                   ^

[@]运算符仅在${...}用引号引起来时才能正确工作。

相关问题