Как можно узнать, выполнена ли команда "psql -c" успешно?

Является ли проверка отсутствия stderr достаточной для проверки выполнения скрипта PHP, который выполняет команду в bash?
  • 25 сентября 2023 г. 5:28
Ответы на вопрос 2
Для проверки выполнения команды "psql -c" в bash можно использовать переменную $?.

После выполнения команды в bash в системной переменной $? хранится код возврата последней выполненной команды. Обычно значение 0 означает успешное выполнение команды, а значение отличное от нуля указывает на ошибку.

Для проверки выполнения скрипта PHP, который выполняет команду в bash, может быть недостаточно только проверить отсутствие stderr. Вам следует также проверить значение $? после выполнения команды в PHP.

Например, если вы используете функцию exec() для выполнения команды в PHP, вы можете проверить значение переменной $return_var, которая будет содержать код возврата выполненной команды.

Вот пример проверки выполнения команды:
```php
$command = "psql -c ...";
$output = array();
$return_var = null;
exec($command, $output, $return_var);

if ($return_var === 0) {
    // Команда успешно выполнена
} else {
    // Команда выполнена с ошибкой
}
```

Таким образом, для полной проверки успешного выполнения скрипта PHP, содержащего команду bash, рекомендуется проверять как отсутствие stderr, так и значение кода возврата $?.
Код возврата 0 означает успешное выполнение команды.
Похожие вопросы