Есть вот такой официальный скрипт для заливки файлов на облачное хранилище Selectel:https://github.com/selectel/supload/blob/master/supload.sh
Его описание тут:
http://habrahabr.ru/company/selectel/blog/168249/
Смотрю я на него, и не могу понять. Возвращает ли данный скрипт код ошибки, если что-то пошло не так в функции upload?По коду видно, что в функции upload вроде как в нескольких проблемных местах предусмотрен выход через
return 1Однако вызов функции upload делается несколько раз в цикле (там перебираются отправляемые файлы). И этот return 1 может пропасть при обработке очередного файла.
Таким образом, внешний скрипт никак не сможет понять, были ли ошибки при выполнении данного скрипта. Например,появление ошибки
[!] Error with calculate file hash, skip uploading $srcникак не повлияет на код возврата скрипта supload. Правильно я понял код?
>[оверквотинг удален]
> код ошибки, если что-то пошло не так в функции upload?
> По коду видно, что в функции upload вроде как в нескольких проблемных
> местах предусмотрен выход через
>return 1
> Однако вызов функции upload делается несколько раз в цикле (там перебираются отправляемые
> файлы). И этот return 1 может пропасть при обработке очередного файла.
> Таким образом, внешний скрипт никак не сможет понять, были ли ошибки при
> выполнении данного скрипта. Например,появление ошибки
>[!] Error with calculate file hash, skip uploading $src
> никак не повлияет на код возврата скрипта supload. Правильно я понял код?А что если и заливать файлы не скопом, а по одному в цикле?
И отлавливать, соответственно ошибку?И мне кажется, там ошибка в следующем куске
# check for file hash
if [ "$MD5CHECK" == "1" ]; then
# local file hash
filehash=`${MD5SUM} "$src" | sed 's/ .*//g'`
if [ -z "$filehash" ]; then
return 5
fi
вместо return 5 нужен return 4