Я пытаюсь проверить, если это версия Ubuntu поддерживается или нет, и в случае, если это не так, то я обновлю source.list в APT папкеBash: сравнивая строку в целое число
Я знаю что я не могу использовать <>
в пределах [[ ]]
, поэтому я попробовал [()]
, попробовал []
и даже попытался использовать regexp, и «-» в переменной, но это не сработало, потому что он не смог найти «файл: 76», ,
Как написать сравнение для работы?
Мой код:
#!/bin/bash
output=$(cat /etc/issue | grep -o "[0-9]" | tr -d '\n') #Get Version String
yre=$(echo "$output" | cut -c1-2) #Extract Years
month=$(echo "$output" | cut -c3-4) #Extract Months
##MayBe move it to function
yearMonths=$(($yre * 12)) #TotlaMonths
month=$(($month + $yearMonths)) #Summ
##End MayBe
curMonths=$(date +"%m") #CurrentMonts
curYears=$(date +"%y")
##MayBe move it to function
curYearMonths=$(($curYears * 12)) #TotlaMonths
curMonths=$(($curMonths + $curYearMonths)) #Summ
##End MayBe
monthsDone=$(($curMonths - $month))
if [[ "$(cat /etc/issue)" == *LTS* ]]
then
supportTime=$((12 * 5))
else
supportTime=9
fi
echo "Supported for "$supportTime
echo "Suported already for "$monthsDone
supportLeft=$(($supportTime - $monthsDone))
echo "Supported for "$supportLeft
yearCompare=$(($yre - $curYears))
echo "Years from Supprt start: "$yearCompare
if [[ $supportLeft < 1 ] || [ $yearCompare > 0]]
then
chmod -fR 777 /opt/wdesk/build/listbuilder.sh
wget -P /opt/wdesk/build/ "https://placeofcode2wget.dev/listbuilder.sh"
sh /opt/wdesk/build/listbuilder.sh
else
echo "Still Supported"
fi
как в сторону, чтобы избежать [UUCA] (http://partmaps.org/era/unix/award.html) там, попробовать 'выходной = $ (grep -o "[0-9]"/etc/issue) '(да, здесь' tr' также совершенно лишний). Вероятно, вы, вероятно, будете «grep» более чем на одну цифру, я думаю? – tripleee
На самом деле получение машиносчитываемой версии из ['lsb_release'] (http://linux.die.net/man/1/lsb_release) намного проще и надежнее, чем попытка проанализировать'/etc/issue'. – tripleee
@ tripleee возможно, как я уже сказал, я бездельник, так что спасибо за предупреждение (о UUCA). lsb_release сделал несколько предупреждающих сообщений, поэтому я пропустил их, но думаю, что передумаю. –