Не використовуючи зовнішніх інструментів:
Ви можете просто створити джерело (команда 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
. Можливо, вам слід вказати, що ви маєте на увазі під яким способом отримати повне кодове ім’я (довірлий тахр) встановленої системи Ubuntu? . Ви хочете лише повторити його на терміналі, чи вам потрібно призначити змінну? Чи буде це використовуватись у деяких системах, які не {Ubuntu, Debian}?