(( )) - Tamsayılar İçin Tasarlandı
Ek olarak, [[]] bileşik komut, darbe ayrıca sağlar (( )) tamsayılar üzerinde çalışmak için yararlı olan bileşik komut. Bölüm 34'te tam olarak ele alacağımız bir konu olan tam bir aritmetik değerlendirme setini destekler.
(( )) gerçekleştirmek için kullanılır aritmetik doğruluk testleri. Aritmetik değerlendirmenin sonucu sıfır değilse, aritmetik doğruluk testi doğru ile sonuçlanır.
[ben@linuxbox ~]$ eğer ((1)); ardından echo "Doğrudur."; fi
Bu doğru.
[ben@linuxbox ~]$ eğer ((0)); ardından echo "Doğrudur."; fi
[ben@linuxbox ~]$
[ben@linuxbox ~]$ eğer ((1)); ardından echo "Doğrudur."; fi
Bu doğru.
[ben@linuxbox ~]$ eğer ((0)); ardından echo "Doğrudur."; fi
[ben@linuxbox ~]$
kullanma (( )), biraz basitleştirebiliriz test-tamsayı2 komut dosyası şöyle:
#! / Bin / bash
# test-integer2a: bir tamsayının değerini değerlendirin.
INT=-5
if [[ "$INT" =~ ^-?[0-9]+$ ]]; o zaman eğer ((INT == 0)); sonra
echo "INT sıfırdır."
başka
if ((INT < 0); sonra
echo "INT negatif."
başka
echo "INT pozitif."
fi
if (( ((INT % 2)) == 0)); sonra
echo "INT çifttir."
başka
echo "INT garip."
fi
#! / Bin / bash
# test-integer2a: bir tamsayının değerini değerlendirin.
INT=-5
if [[ "$INT" =~ ^-?[0-9]+$ ]]; o zaman eğer ((INT == 0)); sonra
echo "INT sıfırdır."
başka
if ((INT < 0); sonra
echo "INT negatif."
başka
echo "INT pozitif."
fi
if (( ((INT % 2)) == 0)); sonra
echo "INT çifttir."
başka
echo "INT garip."
fi
echo "INT bir tam sayı değil." >&2 çıkış 1
fi
echo "INT bir tam sayı değil." >&2 çıkış 1
fi
Küçüktür ve büyüktür işaretlerini kullandığımıza ve == denkliği test etmek için kullanılır. Bu, tamsayılarla çalışmak için daha doğal görünen bir sözdizimidir. Ayrıca dikkat edin, çünkü bileşik komut (( )) sıradan bir komuttan ziyade kabuk sözdiziminin bir parçasıdır ve yalnızca tamsayılarla ilgilenir, değişkenleri adıyla tanıyabilir ve gerçekleştirilecek genişletme gerektirmez. tartışacağız (( )) ve ilgili aritmetik genişleme Bölüm 34'te daha ayrıntılı olarak anlatılacaktır.
 
 
 Dökümanlar
 Dökümanlar