Şunun curl
yerine kullanmayı düşünün wget
:
curl -o "$file" -z "$file" "$uri"
man curl
diyor:
-z
/ --time-cond
<tarih ifadesi>
(HTTP / FTP) Belirtilen saat ve tarihten sonra veya daha önce değiştirilmiş bir dosyayı isteyin. Tarih ifadesi, her türlü tarih dizesi olabilir veya herhangi bir dahili dizeyle eşleşmiyorsa, saati belirli bir dosya adından almaya çalışır.
Eğer $file
ille mevcut olamayacağı önceden değil, siz faydalanmak gerekir -z
kullanarak, bayrak Koşullu test -e "$file"
:
if test -e "$file"
then zflag="-z '$file'"
else zflag=
fi
curl -o "$file" $zflag "$uri"
( $zflag
0 veya 2 jetonuna bölünmesini istediğimiz için burada genişlemeyi teklif etmediğimizi unutmayın ).
Kabuğunuz dizileri destekliyorsa (örn. Bash), daha güvenli ve daha temiz bir sürümümüz var:
if test -e "$file"
then zflag=(-z "$file")
else zflag=()
fi
curl -o "$file" "${zflag[@]}" "$uri"