(()) - مصمم للأعداد الصحيحة
بالإضافة إلى [[]] القيادة المركبة ، سحق كما يوفر (()) أمر com- pound ، وهو مفيد للعمل على أعداد صحيحة. وهو يدعم مجموعة كاملة من التقييمات الحسابية ، وهو موضوع سنقوم بتغطيته بالكامل في الفصل 34.
(()) يستخدم لأداء اختبارات الحقيقة الحسابية. ينتج عن اختبار الحقيقة الحسابي صواب إذا كانت نتيجة التقييم الحسابي غير صفرية.
[me @ linuxbox ~] $ إذا ((1)) ؛ ثم صدى "هذا صحيح" ؛ فاي
هذا صحيح.
[me @ linuxbox ~] $ إذا ((0)) ؛ ثم صدى "هذا صحيح" ؛ فاي
[me @ linuxbox ~] $
[me @ linuxbox ~] $ إذا ((1)) ؛ ثم صدى "هذا صحيح" ؛ فاي
هذا صحيح.
[me @ linuxbox ~] $ إذا ((0)) ؛ ثم صدى "هذا صحيح" ؛ فاي
[me @ linuxbox ~] $
باستخدام (())، يمكننا تبسيط اختبار عدد صحيح 2 نص مثل هذا:
#! / بن / باش
# test-صحيحا 2 أ: أوجد قيمة عدد صحيح.
ذكاء = -5
إذا [["$ INT" = ~ ^ -؟ [0-9] + $]] ؛ ثم إذا ((ذكاء == 0))؛ ثم
صدى "INT هو صفر."
آخر
if ((ذكاء <0))؛ ثم
صدى "INT سلبي."
آخر
صدى "INT إيجابي."
fi
if ((((ذكاء٪ 2)) == 0))؛ ثم
صدى "INT حتى."
آخر
صدى "INT غريب."
fi
#! / بن / باش
# test-صحيحا 2 أ: أوجد قيمة عدد صحيح.
ذكاء = -5
إذا [["$ INT" = ~ ^ -؟ [0-9] + $]] ؛ ثم إذا ((ذكاء == 0))؛ ثم
صدى "INT هو صفر."
آخر
if ((ذكاء <0))؛ ثم
صدى "INT سلبي."
آخر
صدى "INT إيجابي."
fi
if ((((ذكاء٪ 2)) == 0))؛ ثم
صدى "INT حتى."
آخر
صدى "INT غريب."
fi
صدى "INT ليس عددًا صحيحًا." > & 2 الخروج 1
fi
صدى "INT ليس عددًا صحيحًا." > & 2 الخروج 1
fi
لاحظ أننا نستخدم علامات أقل من وأكبر من وذلك == يستخدم لاختبار التكافؤ. هذا بناء جملة أكثر طبيعية للعمل مع الأعداد الصحيحة. لاحظ أيضًا ، لأن الأمر المركب (()) هو جزء من بناء جملة الصدفة وليس أمرًا عاديًا ، ويتعامل فقط مع الأعداد الصحيحة ، وهو قادر على التعرف على المتغيرات بالاسم ولا يتطلب إجراء توسيع. سنناقش (()) والتوسع الحسابي ذي الصلة في الفصل 34.