所以我正在尝试创建一个 bash/可执行文件,并且我需要知道系统上 Ubuntu 的版本号。我在网上找到的所有方法都包括lsb_release -r
,但是我无法将其输出到变量中。
有什么方法可以获取当前版本的 Ubuntu 并将其保存为 shell 可执行文件中的变量?
所以我正在尝试创建一个 bash/可执行文件,并且我需要知道系统上 Ubuntu 的版本号。我在网上找到的所有方法都包括lsb_release -r
,但是我无法将其输出到变量中。
有什么方法可以获取当前版本的 Ubuntu 并将其保存为 shell 可执行文件中的变量?
应该做的伎俩。
对于数字部分,只需添加:
变量
lsb-release
文件/usr/bin/lsb_release
是一个 Python 脚本。这是一个简短的脚本,可以很好地介绍 Python 语言。正如其他人提到的,仅获取版本号的更短方法是使用lsb_release -sr
.该
/etc/lsb-release
文件使用命令提供的相同信息定义环境变量lsb_release -a
:您可以随时使用
. /etc/lsb-release
. 在终端中测试:另一种方法是改用该
/etc/os-release
文件。这被格式化为 shell 变量列表:所以解析它的一种简单方法是简单
source
的文件:为避免不必要地设置所有这些变量,您可以在子shell中获取文件,回显您需要的变量并退出子shell:
或者,您总是可以直接解析文件:
该
lsb_release
命令支持-s
(或--short
)选项来仅打印您要求的信息,而不是说明信息类型的标题。要仅获取版本号,运行以下命令就足够了:
例如,在 Ubuntu 18.04 LTS 上,输出:
与WinEunuuchs2Unix 的 answer中的方法一样,使用命令替换将此输出分配给 shell 变量仍然是合理的。假设您希望
ver
变量保存版本号:有了
-s
,就不需要用cut
,sed
,grep
,awk
, 更复杂的参数扩展形式等来解析数字。在这种用法中,
"
"
引号是可选的,但我通常建议引用参数扩展和其他shell 扩展,除非有理由不这样做。简短而简单的
lsb_release
命令。仅打印版本
输出:
打印描述
输出:
关于此处使用的标志:
缩短WinEunuuchs2Unix 答案:
在 Ubuntu 20.04 上,显示如下: