为 PSQL 命令添加换行符

Adding line breaks for PSQL commands

如何在 bash 脚本中正确换行?以下命令在不添加换行符的情况下工作正常:

for i in {table1,table2,table3}; do psql -U postgres -c "\COPY (SELECT * FROM "DB"."$i") TO "$i".csv DELIMITER ',' CSV"; done

不过,我想在脚本中添加更多 table 个名字。我不断收到(文件名太长)错误。我想做如下事情:

    for i in {table1, \
     table2, \
     table3}; do psql -U postgres -c "\COPY (SELECT * FROM "DB"."$i") TO "$i".csv 
     DELIMITER ',' CSV"; done

但我一直收到错误消息:

ERROR:  syntax error at or near "}" 

你不需要花括号 {} 来表示 bash 中的一个数组,就像这样:

for i in table1 \
     table2 \
     table3; do psql -U postgres -c "\COPY (SELECT * FROM "DB"."$i") TO "$i".csv 
     DELIMITER ',' CSV"; done