Как проверить, равна ли версия **программы **или меньше x

Чтобы удалить файлы (и папки )старше n дней, вы можете использовать:

find /var/log/hive -mindepth 1 -mtime +n -delete

Примечание. :Запустите сначала без -delete, чтобы увидеть, что будет удалено.

1
02.02.2021, 23:48
2 ответа

Если у вас есть сортировка GNU, используйте ее режим сравнения версий .

if { echo "$APPVER"; echo "x.y.z"; } | sort --version-sort --check; then
  echo "App version is x.y.x or less"
fi
3
18.03.2021, 22:32

В bash это можно сделать с помощьюprintf -v:

vercomp(){
   local a b IFS=. -; set -f
   printf -v a %08d $1; printf -v b %08d $3
   test $a "$2" $b
}

if vercomp 2.50.1 \< 2.6; then
   echo older
else
   echo newer
fi
2
18.03.2021, 22:32

Теги

Похожие вопросы