私はpsqlbashスクリプトで(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を返します)。マニュアルを確認してください。
                
                
                  
                    —
                    オーリスロン
                    
                  
                
              ERRORシェルですべて大文字の変数名(など)を使用しないことをお勧めします。特別な意味を持つ多くの環境変数があり、それらの名前のいずれかを誤って使用すると、奇妙な効果を引き起こす可能性があります。この点では、大文字小文字の混在変数の方が安全です。