4 Mart 2011, Cuma
Birkaç komutları etkin bir şekilde kontrol Bash çıkış durumu
Orada bir şey birden fazla komut için pipefail benzer bir' deyim ama bash. içinde 'denemek gibi. Böyle bir şey yapmak istiyorum:
echo "trying stuff"
try {
command1
command2
command3
}
Ve herhangi bir noktada, herhangi bir komut başarısız olursa, bırak, ve o komutun hata yankılanacak. Gibi bir şey yapmak istemiyorum:
command1
if [ $? -ne 0 ]; then
echo "command1 borked it"
fi
command2
if [ $? -ne 0 ]; then
echo "command2 borked it"
fi
Ve diğerleri... ya da bir şey gibi:
pipefail -o
command1 "arg1" "arg2" | command2 "arg1" "arg2" | command3
İnanıyorum ki her komut bağımsız değişkenleri (eğer yanılıyorsam beni düzeltin) birbirlerine engel olacak çünkü. Bu iki yöntem burada daha etkili bir yöntem için başvuruyorum çok korkunç uzun soluklu ve bana kötü görünüyor.
CEVAP
4 Mart 2011, Cuma
Ve sizin için komut başlattı sınayan bir fonksiyon yazabilirsiniz:
function test {
"$@"
local status=$?
if [ $status -ne 0 ]; then
echo "error with $1" >&2
fi
return $status
}
test command1
test command2
Bunu Paylaş:
bash: boru çıktı VE yakalama çıkış dur...
Otomatik hata bash kabuk betiği çıkış...
çalışan bash, python komutları...
Nasıl iPhone SDK üzerinde etkin bir İn...
En verimli şekilde DBNull için kontrol...