Concaténation d'une variable de chaîne à l'intérieur d'une boucle for dans le shell bash [fermé]


15
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 $var = $var$name   
done

echo $var

1
Et quelle est ta question?
rzymek

Réponses:


17
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 var=$var$name //$ should be removed which is prefixed before var. Blank space before and after equal sign should be removed to run this code.   
done

echo $var

1
Êtes-vous sûr d'utiliser correctement sigil devant le nom de variable sur le côté gauche d'une affectation? Quoi qu'il en soit, il vaut mieux revoir l'intégralité de votre message, en commençant par ce commentaire.
manatwork

Mieux. :) Maintenant, le commentaire. Puis exécuter et capturer findla sortie de. Ensuite, la variable de tableau dans la clause for's in.
manatwork

1
Le dernier point sera sans doute qu'il vaut mieux ne pas utiliser la boucle: var="$(IFS=; echo "${names[*]}")". Donc, à moins que vous ne souhaitiez enseigner au propriétaire de la question, il n'y a pas grand intérêt à corriger ses multiples erreurs de syntaxe.
manatwork

1
Vous avez oublié un $, la ligne de boucle for devrait se lirefor name in ${names[@]}
bcattle

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.