将PostgreSQL通知重定向到Bash数组
我有一个引起注意的PostgreSQL语句。我希望将此输出重定向到bash数组中。我尝试了以下方法:将PostgreSQL通知重定向到Bash数组,bash,postgresql,Bash,Postgresql,我有一个引起注意的PostgreSQL语句。我希望将此输出重定向到bash数组中。我尝试了以下方法: declare -a MYARRAY MYARRAY=( `psql -U $db_username -h $DATABASE_HOST $DATABASE_NAME -c \ "DO \\$\\$ DECLARE mySite varchar; myResult RECORD; BEGIN RAISE NOTICE 'current_site, folder, path';
declare -a MYARRAY
MYARRAY=( `psql -U $db_username -h $DATABASE_HOST $DATABASE_NAME -c \
"DO \\$\\$ DECLARE
mySite varchar;
myResult RECORD;
BEGIN
RAISE NOTICE 'current_site, folder, path';
FOR mySite IN SELECT name from public.app_info
LOOP
{Confidential Data here!}
LOOP
RAISE NOTICE '%,%,%', myResult.current_site, myResult.folder, myResult.path;
END LOOP;
END LOOP;
END\\$\\$"` )
echo "These are the files"
for i in ${MYARRAY[@]}; do
echo $i
done
当我运行脚本时,查询中的通知会打印到我的窗口,但不会添加到数组中。我也用一个变量而不是数组尝试了这个方法,但运气不好。通知会打印到stderr中,所以请更改
END\\\\$”`
toEND\\\\\\$“2>&1`)
但数组中也会包含通知这样的文本,所以你必须过滤掉它们。谢谢