2009-09-24 8 views

Répondre

1

Si vous entourez une commande avec des accents graves - commande `` - la commande est exécutée et la sortie remplace le texte cité. C'est ce qu'on appelle Command Substitution. Ainsi, vous pouvez stocker la sortie d'une commande dans une variable comme ceci:

COUNT=`ls -1|wc -l` 

Cependant, vous ne disposez pas de stocker la sortie dans une variable. Vous pouvez utiliser les backticks au milieu d'une autre commande. Par exemple:

echo Split made `ls -1|wc -l` files. 
+0

Duh! vous êtes une demi-minute devant moi. Vous devez mettre dans la coche de fin de retour ' –

+0

Les réponses avec des votes égaux ne sont plus affichés dans l'ordre du temps, donc peu importe qui est le premier plus. Mais merci quand même. :-) –

+0

Je pourrais jurer que j'essayais exactement la même chose et ça ne fonctionnait pas. Merci! – Kapsh

2
myvar=`ls -1|wc -l` 

ou

myvar=$(ls -1|wc -l) 

Ils se comportent de la même façon

+0

$() est préférable. –

+0

@Dennis: Je suis d'accord, cependant, il y a une vieille coque portée qui ne comprend pas $ (..) –

1

tout ce que vous devez faire est:

count=$(ls -l | wc -l) 

pour stocker le nombre de fichiers dans le nombre variable de

Questions connexes