私は両方をリダイレクトする方法のすべての種類試してみました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
実際には何も機能しません。リダイレクトできるのは1つの出力のみで、両方を同時にリダイレクトすることはできません。
/bin/sh
実装されている&>/dev/null
構文は、aparentlyないか、私は(私は十分なものでなければならないので、カントーのOpenBSD 5.3を実行し、どのような方法でエコーすることはできません)古いバージョン持っている