статус выхода и нет выходных данных

статус выхода и нет выходных данных

У меня есть приказ такой, что

bar > /dev/null

и я хочу знать статус выхода бара. Я прочитал несколько постоввсоколо $ {PIPESTATUS[0]}, но это работает, когда вывод передается через via |, и я не могу заставить это работать с помощью >вместо этого.

Что я упускаю?

решение1

>не является командой. Это означает, что bar будет последней выполненной командой. Вы можете проверить на неудачу с помощью стандартного ifоператора:

if ! bar > /dev/null; then
    echo "bar command failed"
fi

Вы также можете получить доступ к его коду возврата, $?если вас интересует что-то больше нуля или ненулевое:

bar > /dev/null
if [ "$?" -eq 45 ]; then
  echo "bar returned exit code 45"
fi 

Связанный контент