
У меня есть приказ такой, что
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