Я пробовал все виды способов перенаправляют как stdoutи stderrв /dev/nullбез какого - либо успеха. У меня почти всю жизнь работает bash, с которым у меня никогда не было этой проблемы, но на этот раз в BSD я застрял /bin/sh.
Что я пробовал:
if ls ./python* 2> /dev/null; then
echo found Python
fi
... который работает; если Python отсутствует, он отключит сообщения об ошибках от ls. Однако, если python.tgzприсутствует, выводится строка с, которая выглядит так:
# ./test.sh
./python-2.7.3p1.tgz
Я пробовал:
if ls ./python* &> /dev/null; then
echo found Python
fi
а также
if ls ./python* 2>1 > /dev/null; then
echo found Python
fi
а также
if ls ./python* > /dev/null; then
echo found Python
fi
Ничего действительно не работает. Я могу перенаправить только один из выходов, а не оба одновременно.
/bin/shреализован&>/dev/nullсинтаксис, по-видимому, нет, или у меня более старая версия (которую я никак не могу