【发布时间】:2017-03-07 22:09:10
【问题描述】:
我想在 bash 脚本中执行 psql 语句并将结果输出到文件中。我下面的代码可以按需要工作:
#!/bin/bash
query="select * from mytable;"
psql <<EOF > output.txt
\timing
$query
EOF
我想运行该 psql 命令块 5 次并将结果附加到 output.txt。如果我只是将其复制并粘贴 4 次,它就可以正常工作,但是当我尝试将其放入 for 循环中时,会出现错误。有没有办法做到这一点?
这是我厌倦的循环:
#!/bin/bash
query="select * from mytable;"
for (( i=0; i<5; i++ ))
do
psql <<EOF > output.txt
\timing
$query
EOF
done
如果我将最后的 EOF 一直移到左侧,它只会执行一次,就好像循环不存在一样。
【问题讨论】:
-
将
> output.txt替换为>> output.txt。