我psql
在bash脚本中使用(PostgreSQL)命令:
function create_database () {
sudo -u postgres psql -c "CREATE DATABASE $1 WITH OWNER $2;" 2>ERROR
if [[ $? -ne 0]; then
echo "error -> $ERROR"
return 1
else:
....
return 0
}
我正在尝试捕获error
并将其传递给变量,但是该变量为空。
一个合理的警告:psql不会返回您期望的错误代码。即使出现错误,psql也不一定会返回错误代码(返回0)。请检查手册。
—
Aulis Ronkainen
我建议不要
—
戈登·戴维森
ERROR
在shell 中使用全大写字母的变量名(如)。有许多具有特殊含义的环境变量,如果您不小心使用了其中一个名称,则可能导致奇怪的结果。在这方面,小写和混合大小写的变量更安全。