Подумайте про використання 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 лексеми).
Якщо ваша оболонка підтримує масиви (наприклад, Bash), у нас є більш безпечна і чиста версія:
if test -e "$file"
then zflag=(-z "$file")
else zflag=()
fi
curl -o "$file" "${zflag[@]}" "$uri"