[英]Bash: execute a command with quotes and put its output into a variable
在 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
变量为空。
如何执行该命令并将其输出放入变量中?
dblist=`"${getdblist_cmd[@]}"`
^ ^
[@]
运算符仅在${...}
被引号包围时才正确工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.