String-Variable innerhalb einer for-Schleife in der Bash-Shell verketten [closed]

15
#!/bin/bash

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

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

echo $var
Jagan
quelle
1
Und was ist deine Frage?
Rzymek

Antworten:

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
Ruban Savvy
quelle
1
Sind Sie sicher, dass Sigil vor dem Variablennamen auf der linken Seite einer Zuweisung richtig ist? Wie auch immer, überprüfen Sie besser Ihren gesamten Beitrag, beginnend mit diesem Kommentar.
Manatwork
Besser. :) Jetzt der Kommentar. Anschließend wird die findAusgabe ausgeführt und erfasst . Dann die Array-Variable in der fors- inKlausel.
Manatwork
1
Der letzte Punkt wird wahrscheinlich sein , dass besser ist , keine Schleife zu verwenden: var="$(IFS=; echo "${names[*]}")". Wenn Sie also nicht den Fragenbesitzer unterrichten möchten, hat die Korrektur seiner Mehrfachsyntaxfehler keinen großen Vorteil.
Manatwork
1
Sie haben ein vergessen $, die for-Schleife sollte lautenfor name in ${names[@]}
bcattle
5

Veränderung

$var = $var$name   

zu

var=$var$name   
rzymek
quelle