Script bash récuperer le nom de la distributi

xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pour un script bash, j'ai besoin de récuper uniquement le nom de la distribution via une variable.
J'ai pensé a la commande :
lsb_release -a


Avec truc du genre
distribution(){
lsb_release -a | grep Distributor
        }
echo $(distribution)

Mais il me faut uniquement récupérer le nom après
Distributor ID:

de la ligne
Distributor ID: Debian
afin d'obtenir
Debian


Pour faire
$distribution"
Comment puis je faire ?

Merci.

7 réponses

  1. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonsoir,

    Alors la je ne comprend pas, rtfm ? ???
    $ man rtfm   
    Il n'y a pas de page de manuel pour rtfm.   
    $

    Que voulez vous dire ?

    Il est possible de faire aussi
    distribution(){
    lsb_release -i | grep Distributor
            }
    echo $(distribution)
    mais c'est la même histoire.

    Merci.
    0
  2. Utilisateur anonyme
     
    rtfm : read the fine manual

    je vois qu'on progresse: tu as trouvé l'option -i de lsb_release !

    zipe31 t'as montré dans ton dernier post comment stocker le résultat d'une commande dans une variable.
    0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Une page de manuel se lit en entier tant qu'à faire ;-\

    Lit encore un peu le man lsb_release et tu auras ta réponse ;-)

    Et tant qu'à faire, lis aussi le man bash (section Développements) et tu sauras comment découper une variable au besoin ;-))
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ d=($(</etc/lsb-release)) ; echo ${d[0]##*=}
    Ubuntu
    $ 
    
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut,

      L'option existe sans passer par le développement (ou tableau) d'une variable ;-(
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      ah oui ...mais c'est plus drole de mélanger des ${}[]##
      0
  6. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    Avec ceci
    $ d=($(</etc/lsb-release)) ; echo ${d[0]##*=}

    j'obtiens
    LSB_VERSION=

    pas comme vous
    $ d=($(</etc/lsb-release)) ; echo ${d[0]##*=} 
    Ubuntu 
    $ 


    svr@debian:~$ d=($(</etc/lsb-release)) ; echo ${d[0]##*=} 
    -bash: /etc/lsb-release: Aucun fichier ou dossier de ce type 
    
    svr@debian:~$

    Merci.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Voir ;-\
      0
  7. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    A part ceci
    distribution(){ 
    lsb_release -i | grep Distributor 
            } 
    VAR=$(distribution) 
    echo ${VAR/Distributor ID:}


    Je ne comprends pas comme y faire avec ce que vous tentez de m'expliquer en outre ?
    $ d=($(</etc/lsb-release)) ; echo ${d[0]##*=}
    Ubuntu
    $

    Mais je débute...

    Merci.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      lsb_release -i | grep Distributor
      Lis bien le "man lsb_release" jusqu'au bout, et reviens nous dire ce qu'il en est ;-)
      0