Я пробував всі види способів перенаправляють як stdout
і stderr
в /dev/null
без будь - якого успіху. Я майже все життя керую басом, з яким у мене ніколи не виникало цього питання, але я один раз в 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
синтаксис, мабуть, не так, або я маю більш стару версію (яку я ніяк не можу повторити, запуск OpenBSD 5.3 tho, тому повинно бути достатньо)