WGET ينشئ ملف الإخراج حتى عند عدم وجود الصفحة
سؤال
من الممكن منع إتاج عن إجراء ملف إخراج عندما يكون هناك خطأ مثل 404.
عندما أركض
wget -O my.html http: //sdfsdfdsf.sdfds.
http: //sdfsdfdsf.sdfds. غير موجود ولكن wget لا يزال يخلق my.html
أنا جعل النصي باش وتريد التأكد من توقفه إذا لم تتمكن من الحصول على ملف صالح.
المحلول
إرجاع إرجاع استجابة غير صفرية للردود غير 200 (يبدو).
عملت نموذج التعليمات البرمجية هذا معي مع GNU WGE:
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
هنا مزيد من المعلومات حول $?
من عند هنا.
$؟ يتم إعطاء حالة الخروج من الأمر الأخير الذي تم تنفيذه كسلسلة عشرية. عند اكتمال الأمر بنجاح، فإنه بإرجاع حالة الخروج من 0 (صفر)، وإلا فإنه بإرجاع حالة خروج غير صفرية.
نصائح أخرى
ربما يمكنك استخدام Curl (1) بدلا من ذلك:
curl -s -f -o my.html http://sdfsdfdsf.sdfds
لا تنتمي إلى StackOverflow