2>ERROR
envia a saída stderr
para um arquivo chamado ERROR
, não para uma variável. Tente o seguinte:
ERROR=$(sudo -u postgres psql -c "CREATE DATABASE $1 WITH OWNER $2;" 2>&1 1>/dev/null)
Estou usando o comando psql
(PostgreSQL) em um script bash:
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
}
Estou tentando capturar o error
e passá-lo para uma variável, mas a variável está vazia.
Tags bash postgresql bash-scripting