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

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.