Я не могу обмотать голову вокруг этого. Зачем использовать /dev/null как вход в оператор if? Каково использование < /dev/null в следующем?
if ( $PROG --version ) < /dev/null > /dev/null 2>&1; then
$PROG
else
echo "failed"
exit 1
fi
I (думаю) Я понимаю, что > /dev/null 2>&1 используется только для подавления любого выхода как из stdout, так и stderr.