Comando lsb_release

 linux

Você vai olhar e pensar, post só para isso!? Mas a verdade é que o comando lsb_release é muito útil para criar scripts Shell que tenham de “descobrir” qual a distribuição Linux em que se está usando.

Com o comando:

$ lsb_release -h
ou
$ lsb_release --help

Temos acesso as opções de uso desse comando, algo como:

Usage: lsb_release [options]

Options:
  -h, --help show this help message and exit
  -v, --version  show LSB modules this system supports
  -i, --id   show distributor ID
  -d, --description  show description of this distribution
  -r, --release  show release number of this distribution
  -c, --codename show code name of this distribution
  -a, --all  show all of the above information
  -s, --shortshow requested information in short format

Vamos ao primeiro passo, com esse comando vamos ter todas as informações listadas:

$ lsb_release -a

Aparecerá a saída parecida com essa, mas de acordo com as informações da sua distribuição Linux:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty

Então para conseguir o codename eu fazia:

$ lsb_release -c
ou
$ lsb_release --codename

E baseado na saída do comando anterior, aparecia:

Codename:       trusty

Daí pensei “cara, regex (expressão regular) resolve” e pensei em contrapartida “vai dar trabalho”.

Mas estou aqui para facilitar e te passar o jeito mais fácil, para não ficar se matando igual eu. Quando descobri pensei “por que não li o help disso antes!?”#ficaAdica

Então faça:

$ lsb_release -cs

E é exibido:

trusty

A sacada é usar a opção -c, observe:

-s, --short        show requested information in short format

Para descobrir a distribuição:

$ lsb_release -is
Ubuntu

Codinome da versão:

$ lsb_release -cs
trusty

O uso prático disso é:

CODINAME="$(lsb_release -cs)"

if [ "$CODINAME" == "trusty" ]; then
    # executa o que está aqui
fi

comments powered by Disqus