Tôi đã thử tất cả các loại cách để chuyển hướng cả hai stdout
và stderr
để /dev/null
mà không thành công. Tôi gần như cả đời chạy bash mà tôi chưa bao giờ gặp phải vấn đề này, nhưng lần đầu tiên trong BSD tôi bị mắc kẹt /bin/sh
.
Những gì tôi đã thử:
if ls ./python* 2> /dev/null; then
echo found Python
fi
... hoạt động; nếu Python không xuất hiện, nó sẽ tắt tiếng các thông báo lỗi từ ls. Tuy nhiên, nếu python.tgz
có, một dòng có đầu ra trông như thế này:
# ./test.sh
./python-2.7.3p1.tgz
Tôi đã thử:
if ls ./python* &> /dev/null; then
echo found Python
fi
và
if ls ./python* 2>1 > /dev/null; then
echo found Python
fi
và
if ls ./python* > /dev/null; then
echo found Python
fi
Không có gì thực sự hoạt động. Tôi chỉ có thể chuyển hướng một trong các đầu ra, không phải cả hai cùng một lúc.
/bin/sh
đã thực hiện&>/dev/null
cú pháp, không phải là như vậy hoặc tôi có phiên bản cũ hơn (mà tôi không thể lặp lại bằng bất kỳ cách nào, chạy OpenBSD 5.3 tho nên là đủ)