:
if wget -q "$URL"; then
...
Ve çıkışını bastırmak isterseniz
Tüm çözümleri şanssız deniyorum. Wget, etkileşimli olmayan şekilde yürütülür. Bu arka planda wget çalışır ve $ ile dönüş kodu yakalayamazsınız anlamına gelir.
wget --server-response -q -o wgetOut http://www.someurl.com
sleep 5
_wgetHttpCode=`cat wgetOut | gawk '/HTTP/{ print $2 }'`
if [ "$_wgetHttpCode" != "200" ]; then
echo "[Error] `cat wgetOut`"
fi
Not:
bir çözüm http 200 durum kodu Örnek arama, "--server-yanıt" özelliği işlemek için var wget ben koymak bu nedenle, işini bitirmek için biraz zamana ihtiyacım "5 uykusu". Bu yapmanın en iyi yolu değil, çözüm testi için işe yaradı. Çağrı durumunu
wget -O filename URL
if [[ $? -ne 0 ]]; then
echo "wget failed"
exit 1;
fi
Eğer wget durumunu kontrol edebilirsiniz Bu şekilde hem mağaza olarak çıkış verileri kontrol da wget sonucunu toplayıp analiz etmek
başarısız çağrı çıkışı Aksi takdirde hata wget ile çıkılacak
Bu doğru olsa da, $ r' nin neden boş olduğu ve hata mesajının neden ortaya çıktığı daha iyi bir açıklama olabilir. – Brian