1

我是 shell 脚本编程的新手。我想写一个简单的shell脚本来检查系统中安装的ubuntu版本;如果版本大于或等于版本 12,则复制一些文件,如果版本小于或等于版本 12,则复制一些其他文件。

4

3 回答 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 回答