Итак, что я пытаюсь сделать, все мои резервные папки называются датами 03-07-13. Поэтому я пытаюсь выбрать день, и если он больше или равен 7 дням, он удалит. Это то, что у меня есть до сих пор, но оно не работает.Получение имени папки и сравнение с целым числом в bash
DATE=$(date +"%d")
for i in /media/backupdrive/*; do
DAY=${i:22:2}
if [ "$DAY" -ge "7" ]
then
echo "day greater than 7";
fi
done
в 22: 2 отсекает/СМИ/backupdrive/00-
00 представляет месяц
Сейчас это просто проверка, если это больше, чем 7, если она есть, она печатает это из.
EDIT: Проблема решена. Я хочу поблагодарить всех вас за помощь начинающему bash. Еще раз спасибо!
... так что вы думаете? –
Извините, не поделился этим. ИТ говорит, что выражение interger ожидается в строке оператора if. Мне нужно сделать переменную DAY целой, чтобы сравнить ее с текущим днем, и если она больше или равна 7. – user2142183
Если вы выполняете 'echo $ DAY'' внутри loop, каково значение? – newfurniturey