c=('a' 'c')
n=(3 4)
for i in $(seq 0 $((${#c[*]}-1)))
do
echo ${c[i]} ${n[i]}
done
bazen daha Olabilir kullanışlı. açıklamalarda belirtildiği gibi
,
ugly
parçası açıklamak için:
seq 0 2 olarak 0 1 2 $ (Cmd) dizisini üreten, komut ikamesi olan seq 0 2
Bu, örneğin çıkış yüzden sayı dizisidir. Ama üst sınır nedir, $((${#c[*]}-1))
?
$ ((somthing)) aritmetik genişletme, yani $ ((3 + 4)) 7 vb. Bizim İfademiz ${#c[*]}-1
, yani bir şey - 1. ${#c[*]}
'un ne olduğunu biliyorsak oldukça basit.
c bir dizidir, c [*] sadece tüm dizidir, $ {# c [*]}, bizim durumumuzdaki 2 dizinin boyutudur. Şimdi herşeyi geri alıyoruz:for i in $(seq 0 $((2-1)))
for i in $(seq 0 1)
for i in 0 1
olduğunu. Dizideki son öğe, Dizinin uzunluğu olan bir dizine sahip olduğu için - 1.
piton kökenli geliyor bu gerçekten çok yararlı bir sorudur! –
Bu dört yıl boyunca baktığımda hala bunu yapmanın daha iyi bir yolu olup olmadığını merak ediyorum. Aman Tanrım. – Giszmo