Перехват ошибки команды bash в переменной

Я использую psql(PostgreSQL) команда в скрипте bash:

function create_database () {
       sudo -u postgres psql -c "CREATE DATABASE  WITH OWNER ;" 2>ERROR
        if [[ $? -ne 0]; then
          echo "error -> $ERROR"
          return 1
        else:
         ....
         return 0
}

Я пытаюсь поймать error и передаем его переменной, но переменная пуста.

4
задан user3541631
20.11.2022 9:38 Количество просмотров материала 2791
Распечатать страницу

1 ответ

2>ERROR передает stderr вывод в файл с именем ERROR, а не переменной. Попробуйте выполнить следующее:

ERROR=$(sudo -u postgres psql -c "CREATE DATABASE  WITH OWNER ;" 2>&1 1>/dev/null)
3
отвечен md2perpe 2022-11-21 17:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх