Получить номер версии Ubuntu только с bash - PullRequest
1 голос
/ 21 апреля 2020

Я выполняю команду cat /etc/os-release, чтобы получить информацию типа

NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Я хочу получить только 18.04 из VERSION_ID

Я пробовал как

cat /etc/os-release | grep VERSION_ID=

, который возвращает

VERSION_ID="18.04"

Я не знаю, как взять этот номер версии. Можете мне посоветовать, как это сделать?

Ответы [ 3 ]

5 голосов
/ 21 апреля 2020

Источник, и вы можете получить доступ к переменной напрямую:

. /etc/os-release
echo "$VERSION_ID"
2 голосов
/ 21 апреля 2020

Использование lsb_release - это идеальный способ доступа к информации о распространении. Чтобы получить только версию, используйте:

lsb_release -sr

Если lsb_release не установлен в вашей системе (если я правильно помню), выполните:

sudo apt-get install lsb-core
1 голос
/ 21 апреля 2020

Вы можете использовать awk:

awk -F= '$1 == "VERSION_ID" {gsub(/"/, "", $2); print $2}' /etc/os-release

18.04
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...