Как получить имя текущей версии Debian / Ubuntu в сценарии Bash

Как получить в сценарии Bash простое строчное имя текущего выпуска Debian или Ubuntu, например stretch, jessie, xenial, artful?

0
задан 14 August 2018 в 22:26
1 ответ

Он доступен в / etc / os-release , но несовместим между Ubuntu и Debian. В документации нет подробностей о том, как его использовать.

. /etc/os-release
NAME=$VERSION_CODENAME
if [ -z "$NAME" ]; then
    NAME=$(echo $VERSION | sed -rn 's|.+\((.+)\).+|\1|p')
fi

Он также доступен в команде lsb_release , которая после установки не требует анализа:

NAME=$(lsb_release --codename --short)

Наконец, это может быть получен непосредственно из файла с исходными текстами с помощью тяжелого анализа.

NAME=$(sed -rn 's|^deb\s+\S+\s+(\w+)\s+main.*$|\1|p' /etc/apt/sources.list | head -n 1)
1
ответ дан 4 December 2019 в 15:52

Теги

Похожие вопросы