Не используя никаких внешних инструментов:
Вы можете просто использовать источник (команда source является точкой .
), /etc/os-release
и у вас будет доступ ко всем переменным, определенным там:
$ . /etc/os-release
$ echo "$VERSION"
14.04, Trusty Tahr
Редактировать. Если вы хотите удалить 14.04,
деталь (как попросил тердон), вы можете:
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
Trusty Tahr
Обратите внимание, что это немного неуклюже, так как в других дистрибутивах VERSION
поле может иметь другой формат. Например, на моем Debian,
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
(wheezy)
Затем вы можете представить что-то вроде этого (в сценарии):
#!/bin/bash
if [[ -r /etc/os-release ]]; then
. /etc/os-release
if [[ $ID = ubuntu ]]; then
read _ UBUNTU_VERSION_NAME <<< "$VERSION"
echo "Running Ubuntu $UBUNTU_VERSION_NAME"
else
echo "Not running an Ubuntu distribution. ID=$ID, VERSION=$VERSION"
fi
else
echo "Not running a distribution with /etc/os-release available"
fi
/etc/os-release
. Может быть, вы должны указать, что вы подразумеваете под Как получить полное кодовое имя (trusty tahr) моей установленной системы Ubuntu? , Вы хотите, чтобы он отображался только на терминале, или вам нужно, чтобы он был назначен переменной? Будет ли это использоваться на некоторых не-Ubuntu, Debian} системах?