我是 shell 脚本编程的新手。我想写一个简单的shell脚本来检查系统中安装的ubuntu版本;如果版本大于或等于版本 12,则复制一些文件,如果版本小于或等于版本 12,则复制一些其他文件。
问问题
6354 次
3 回答
21
该lsb_release -rs
命令让我们确定 Ubuntu 版本,我们可以像这样使用它:
if [[ $(lsb_release -rs) == "18.04" ]]; then # replace 8.04 by the number of release you want
echo "Compatible version"
#Copy your files here
else
echo "Non-compatible version"
fi
``(包含反引号)是非 POSIX 且已弃用。
于 2012-09-22T15:32:50.387 回答
2
cat /etc/issue.net | awk '{x=2 ; if (substr($x,0,3) == '12') {system("cp <src> <dest>") } else {system("cp <src> <dest>") }}'
cat /etc/issue.net
将显示 3 个字段,其中第二个字段是版本号。
通过substr
我们检查前两位数字是否是版本 12,然后通过内部的系统命令,awk
我们可以将某些文件从特定的 src 复制到 dest。
于 2012-09-22T20:08:30.680 回答
0
解决方案:cat /proc/version
解析数字并执行条件/切换语句以执行操作。
来自RadHat 文档:
该文件指定了正在使用的 Linux 内核和 gcc 的版本,以及系统上安装的 Red Hat Enterprise Linux 的版本:
于 2020-07-14T13:49:02.613 回答