curlइसके बजाय का उपयोग करने पर विचार करें wget:
curl -o "$file" -z "$file" "$uri"
man curl कहते हैं:
-z/ --time-cond <दिनांक अभिव्यक्ति>
(HTTP / FTP) एक ऐसी फ़ाइल का अनुरोध करें, जिसे दिए गए समय और दिनांक से बाद में संशोधित किया गया है, या उस समय से पहले संशोधित किया गया है। दिनांक की अभिव्यक्ति सभी प्रकार के तार तार हो सकते हैं या यदि यह किसी भी आंतरिक लोगों से मेल नहीं खाता है, तो इसके बजाय दिए गए फ़ाइल नाम से समय प्राप्त करने की कोशिश करता है।
यदि $fileआवश्यक रूप से पहले से मौजूद नहीं है, तो आपको उपयोग करते हुए -zध्वज सशर्त का उपयोग करने की आवश्यकता होगी test -e "$file":
if test -e "$file"
then zflag="-z '$file'"
else zflag=
fi
curl -o "$file" $zflag "$uri"
(ध्यान दें कि हम $zflagयहां के विस्तार को उद्धृत नहीं करते हैं, क्योंकि हम चाहते हैं कि यह 0 या 2 टोकन से विभाजित हो जाए)।
यदि आपका शेल सरणियों (जैसे बाश) का समर्थन करता है, तो हमारे पास एक सुरक्षित और क्लीनर संस्करण है:
if test -e "$file"
then zflag=(-z "$file")
else zflag=()
fi
curl -o "$file" "${zflag[@]}" "$uri"