Существует ли переменная среды, которая выделяет версию человечности и другого, который выделяет версию ядра?
Я предполагаю, что ответ не как printenv | grep 14.04
дал только, я думал, что спрошу так или иначе, поскольку это сохранило бы меня от необходимости объявить это путем выполнения дополнительной команды в сценарии.
Мне понравились все ответы, предоставленные, поскольку они все подтвердили то, что я подозревал, однако я думаю, делая следующее, было бы лучше для того, что я ищу:
в человечности есть файл: /etc/lsb-release
я просто обнаруживаю это теперь, смотря на сценарии в /etc/update-motd.d
в особенности /etc/update-motd.d/00-header
Этот файл, хотя не выполнимый, содержит переменные с информацией о версии человечности, которыми управляют, в то время как motd сообщения переданы, делая следующее:
[ -r /etc/lsb-release ] && . /etc/lsb-release
Значение в основном, насколько я понимаю, если этот файл существует и это - удобочитаемый пробег это с ударом.
Так, по крайней мере, в окружающей среде Ubuntu, если бы я должен был включать ту линию в свой сценарий или просто . /etc/lsb-release
, который предоставил бы мне все переменные, в которых я нуждаюсь, не имея необходимость обращаться к любым командам.
Нет. Вы должны использовать lsb_release
и uname
команды соответственно, чтобы получить версии Ubuntu и ядра.
$ lsb_release -sr
14.04
$ lsb_release -sc
trusty
$ uname -r
3.13.0-65-generic
, С другой стороны, Вы можете разобрать определенные файлы, но если у Вас нет веской причины сделать так, лучше используйте эти команды.