我知道我问的问题有点接近,但我似乎无法弄清楚。
我有以下代码:
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
作为数字进行比较,也尝试过将其作为字符串进行比较,但似乎都不起作用!
一如既往,非常感谢任何帮助。
答案1
只需在 if 语句的两端添加空格:
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
哎呀