Я пробовал все виды способов перенаправляют как 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
синтаксис, по-видимому, нет, или у меня более старая версия (которую я никак не могу