Ho provato tutti i tipi di modi per reindirizzare sia stdout
e stderr
per /dev/null
senza alcun successo. Ho quasi corso tutta la mia vita bash con cui non ho mai avuto questo problema, ma per una volta in BSD sono bloccato /bin/sh
.
Cosa ho provato:
if ls ./python* 2> /dev/null; then
echo found Python
fi
... che funziona; se Python non è presente, silenzia i messaggi di errore da ls. Tuttavia, se python.tgz
presente, viene emessa una linea che assomiglia a questa:
# ./test.sh
./python-2.7.3p1.tgz
Ho provato:
if ls ./python* &> /dev/null; then
echo found Python
fi
e
if ls ./python* 2>1 > /dev/null; then
echo found Python
fi
e
if ls ./python* > /dev/null; then
echo found Python
fi
Niente funziona davvero. Posso solo reindirizzare una delle uscite, non entrambe contemporaneamente.
/bin/sh
hanno implementato la&>/dev/null
sintassi, in altre parole non è così o ho una versione precedente (che non posso fare eco in alcun modo, eseguendo OpenBSD 5.3 quindi dovrebbe essere sufficiente)