我有一个bash脚本,可以调用psql并执行SQL代码:
sudo -i -u postgres psql <<EOF
SQL COMMANDS;
EOF
SQL部分生成大量输出,我想将其重定向到/ dev / null。如何将一个Heredoc重定向到/ dev / null?
答案 0 :(得分:0)
琐碎
postgres psql <<EOF >/dev/null
SQL COMMANDS;
EOF
<<
令牌 heredoc分隔符只是另一个重定向操作符;这样你就可以做
postgres psql <<EOF 2>/dev/null |
SQL COMMANDS;
EOF
while IFS= read -r output; do
case $output in
*error*) printf '%s%s%s\n' "$red" "$output" "$plain";;
*) echo "$output";;
esac
done
从第一行开始的管道在EOF
令牌之后继续。 (这要求您分别为红色和无色文本定义屏幕控制代码; man tput
。)