В общем посмотри на этот вариант, поскольку у тебя логика усложненная, и все можно решить проще.
А главное правильно расставить echo Для отладки (или юзать -x ;)
#!/bin/bash
HOST=""
USER=""
PASSWD=""
UFILE="/bk"
DAYS=1
MONTHS=3
#for FILE in $(curl -u $USER:$PASSWD ftp://$HOST/$UFILE/ -s -l)
for FILE in $(ls -1); do
EXIST=0
echo "Processing $FILE"
if [ "$FILE" = "." ] || [ "$FILE" = ".." ]
then
echo "Skipping as . or .."
continue
fi
for day in $(seq 0 $DAYS)
do
d="$(date +%Y-%m-%d -d "$day days ago")"
if [[ $FILE =~ backups_all_$d.*.tar.gz ]]; then
echo "Need to delete $FILE because d=$d"
# curl -u $USER:$PASSWD ftp://$HOST/$UFILE/ -s -X "DELE $FILE"
continue 2
fi
done
for month in `seq 0 $MONTHS`
do
d="$(date +%Y-%m-01 -d "$month month ago")"
if [[ $FILE =~ backups_all_$d.*.tar.gz ]]; then
echo "Need to delete $FILE"
# curl -u $USER:$PASSWD ftp://$HOST/$UFILE/ -s -X "DELE $FILE"
continue 2
fi
done
done
У вас в скрипте вообще не ясно что вы пишете. Что за имена переменных с пробелами, что за внезапные вертикальная черта, которую вы используете видимо не осознавая что она в принципе делает.
А еще EXIST вы присваиваете 1, если что-то найдено, но для удаления проверяете в конце что EXIST -eq 0
На всякий случай проверьте что у вас за /bin/bash, возможно это линк на другой шелл?
двойные квадратные скобки могут не работать в dash и более старых шеллах
koshkodaf, wifi в принципе не предназначен для того, чтобы слать много разных пакетов с быстрым откликом. Используйте кабель.
Вдобавок спидтест может показывать фигню, ибо там прямо указано, что остановите все сторонние закачки - контролировать приоритет скачивания не получится.
Добавлю еще что в облаках есть опасность влететь на деньги если недочитал документацию по автомасштабирующимся сервисам - есть много историй как недоглядели и влетели на лишние 100 - 100.000$
Так если уровень доступа private вы эти методы сможете написать только в этом классе.
А в этом и смысл, чтобы чужие классы напрямую к переменным не лазили.
serg_freedom,
Не использовать функции BIOS значит не использовать функции материнки, которая за вас делает множество вещей, включая управление питанием, которое вообще наверное никак минуя BIOS не получить.
Просто понятно, что не все фунции BIOS обязательны, но вообще без биоса/uefi не выйдет.
Много выделений и освобождений памяти.
Просто выделите один раз достаточный объем памяти и сами контролируйте его переиспользование - будет гораздо быстрее.
Ernest Faizullin, Ассемблер это не машинный код.
Это именно язык программирования, который обычно отражает машинный код, но может иметь также макросы и другие директивы для транслятора и линкера.
А главное правильно расставить echo Для отладки (или юзать -x ;)