我已经试过各种办法都重定向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,这样就足够了)