SORU
18 EYLÜL 2009, Cuma


kabuk "için" döngü sözdizimi

Aşağıdaki aldık:

for i in {2..10}
do
    echo "output: $i"
done

output: 2, output: 3, satırları bir sürü benzeri üretir.

Ancak, aşağıdaki çalıştırmak için çalışıyoruz:

max=10
for i in {2..$max}
do
    echo "$i"
done

ürettiği aşağıdaki:

output: {2..10}

Nasıl tedavi etmek gerekir gerçekleştirmek için derleyici alabilir miyim $dizi diğer ucunu, ve bir dize bir parçası olarak değil, max?

CEVAP
18 EYLÜL 2009, Cuma


genişleme hazır olun{x..y}diğer açılımlar önce gerçekleştirilir, değişken uzunlukta diziler için kullanamazsınız.

Bunun yerine, mobrule belirtildiği gibi seq 2 $max yöntemi kullanın.

Yani, örneğin olacaktır:

max=10
for i in `seq 2 $max`
do
    echo "$i"
done

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • RayperEnglishKnight

    RayperEnglis

    24 Kasım 2008
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012