Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 27/11/2017, à 17:53

mxc

Stocker la valeur d'une commande dans une variable

Bonjour à tous,

J'essaye de stocker une valeur obtenue avec une commande dans une variable via cette manière :

nb_main = egrep -r “.java | wc -l

c'est la syntaxe que j'ai obtenue après plusieurs recherches sur le net.

Mon problème est que lorsque j'effectue la commande sans la stocker mon résultat est 176.
Mais quand je la stocke dans la variable le résultat obtenu est 0.

Mon erreur est sans doute toute bête, mais je suis débutant ahah

Merci d'avance pour vos réponses smile

Hors ligne

#2 Le 27/11/2017, à 18:09

pingouinux

Re : Stocker la valeur d'une commande dans une variable

Bonjour,

nb_main=$(egrep -r “.java | wc -l)

Hors ligne

#3 Le 30/11/2017, à 15:35

arno_lupin

Re : Stocker la valeur d'une commande dans une variable

ou bien :

nb_main=`egrep -r “.java | wc -l`

avec les apostrophes inversées « ` » ( ALTGR+7 )

Dernière modification par arno_lupin (Le 30/11/2017, à 15:36)


Ubuntu 16.04.1 LTS (Xenial Xerus) 64-bit .. MATE 1.12.1

Hors ligne

#4 Le 01/12/2017, à 09:24

kholo

Re : Stocker la valeur d'une commande dans une variable

salut,

man bash a écrit :

   Substitution de commande
       La  substitution  de commande permet de remplacer le nom d'une commande
       par son résultat. Il en existe deux formes :

              $(commande)
       ou
              `commande`

       Bash effectue la substitution en exécutant la commande et en la rempla‐
       çant  par sa sortie standard, dont les éventuels sauts de lignes finaux
       sont supprimés. Les changements de ligne internes ne sont pas supprimés
       mais  peuvent disparaître lors du découpage en mots. La substitution de
       commande $(cat fichier)  peut  être  remplacée  par  l'équivalent  plus
       rapide $(< fichier).

       Quand  l'ancienne  forme  de substitution avec les accents graves « ` »
       est utilisée, le caractère contre-oblique garde sa signification propre
       sauf lorsqu'il est suivi de $, ` ou \. Le premier accent grave non pro‐
       tégé par une contre-oblique termine la substitution de commande.  Quand
       on  utilise la forme $(commande), tous les caractères entre parenthèses
       constituent la commande ; aucun n'est traité spécifiquement.

       Les substitutions de commande peuvent être imbriquées.  Pour  imbriquer
       en  utilisant  la  forme à accents graves, il faut protéger les accents
       graves internes avec des contre-obliques.

       Si la substitution apparaît entre guillemets doubles, le  découpage  en
       mots  et  le  développement  des  chemins ne sont pas effectués sur ses
       résultats.

NB les ` sont dépréciés et $( commande )
cool

Hors ligne

#5 Le 01/12/2017, à 11:52

Hizoka

Re : Stocker la valeur d'une commande dans une variable

Hors ligne