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

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.