Menggabungkan variabel string di dalam for loop di bash shell [ditutup]

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
sumber
1
Dan apa pertanyaanmu?
rzymek

Jawaban:

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
sumber
1
Apakah Anda yakin benar menggunakan sigil di depan nama variabel di sebelah kiri tugas? Bagaimanapun, lebih baik tinjau seluruh posting Anda, dimulai dengan komentar itu.
manatwork
Lebih baik. :) Sekarang komentar. Kemudian mengeksekusi dan menangkap findoutput. Kemudian variabel array di for's inklausa.
manatwork
1
Titik akhir mungkin akan yang lebih baik untuk tidak menggunakan lingkaran: var="$(IFS=; echo "${names[*]}")". Jadi, kecuali Anda ingin mengajar pemilik pertanyaan, tidak ada banyak manfaat dalam memperbaiki beberapa kesalahan sintaksisnya.
manatwork
1
Anda lupa a $, baris for for seharusnya dibacafor name in ${names[@]}
bcattle
5

Perubahan

$var = $var$name   

untuk

var=$var$name   
rzymek
sumber