И тот, который не воссоздает массив каждый раз (хотя требует bash 3.1 или новее):
array=()
while IFS= read -r -p "Next item (end with an empty line): " line; do
[[ $line ]] || break # break if line is empty
array+=("$line")
done
printf '%s\n' "Items read:"
printf ' «%s»\n' "${array[@]}"
См. http://mywiki.wooledge.org/BashFAQ/001 для получения дополнительной информации.
И как всегда, чтобы избежать написания ошибок, прочитайте http://mywiki.wooledge.org/BashFAQ/001 и избегайте tldp-руководств, таких как Advanced bash scripting guide. [ ! d3]
В режиме работы по умолчанию rsync используется время модификации в качестве ключа, чтобы определить, должен ли файл быть перенесен или нет. На странице руководства:
Rsync находит файлы, которые необходимо перенести, используя алгоритм быстрой проверки (по умолчанию), который ищет файлы, которые были изменены по размеру или в последнее время.Используя параметр --checksums, он будет смотреть на содержимое файла:
-c, --checksum skip based on checksum, not mod-time & size