#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
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 20.04.1 LTS (Focal Fossa) 64-bit .. MATE 1.24.0
Hors ligne
#4 Le 01/12/2017, à 09:24
- kholo
Re : Stocker la valeur d'une commande dans une variable
salut,
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 )
Hors ligne
#5 Le 01/12/2017, à 11:52
- Hizoka
Re : Stocker la valeur d'une commande dans une variable
Salut, un peu de lecture : http://www.tldp.org/LDP/abs/html/abs-guide.html
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne