为 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
如何在 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