Я знаю, что задаю вопросы немного близко друг к другу, но я, может казаться, не понимаю это.
У меня есть следующий код:
currentver="$(lsb_release -rs)"
requiredver="18.04"
if ["$(printf '%s\n' "$requiredver" "$currentver" | sort -V | head - n1)" = "$requiredver"]
then
read -p "Ubuntu?: " vari
else
read -p 'Hello?: ' var
fi
Однако я всегда получаю эту ошибку: ./test.sh: line 3: [18.04: command not found
. Я попытался выдержать сравнение currentver
с 18.04
как сравнение чисел, я попытался сравнить их как строки, но ничто, кажется, не работает!
Любая справка (как всегда) значительно ценившая.
Просто нужны пробелы с обоих концов если оператор:
currentver="$(lsb_release -rs)"
requiredver="18.04"
if [ "$(printf '%s\n' "$requiredver" "$currentver" | sort -V | head - n1)" = "$requiredver" ]
then
read -p "Ubuntu?: " vari
else
read -p 'Hello?: ' var
fi
ой