Saya punya masalah dengan for loop in bash. Sebagai contoh: Saya punya array ("etc" "bin" "var")
. Dan saya beralih pada array ini. Tetapi dalam loop saya ingin menambahkan beberapa nilai ke array. Misalnya
array=("etc" "bin" "var")
for i in "${array[@]}"
do
echo $i
done
Ini menampilkan etc
bin
var
(tentu saja pada baris terpisah). Dan jika saya tambahkan setelah do
seperti itu:
array=("etc" "bin" "var")
for i in "${array[@]}"
do
array+=("sbin")
echo $i
done
Saya ingin: etc
bin
var
sbin
(tentu saja pada baris terpisah).
Ini tidak bekerja. Bagaimana saya bisa melakukannya?
Jawaban:
Ini akan menambahkan "sbin" 3 kali sebagaimana mestinya, tetapi itu tidak akan berulang di atas "sbin" yang baru ditambahkan di loop yang sama.
Setelah contoh ke-2:
sumber
for
loop kemudian. Pertama, tambahkan penambahan Anda, kemudian lingkarkan hasilnya.array+=(sbin); for i in ...
Itu akan beralih di atas daftar Anda,
sbin
tempelkan ke akhir daftar tersebut secara kondisional, dan sertakansbin
dalam konten yang dapat diubah.sumber