فصل ‎13‎- بسط حسابی

بسط حسابی ابزار قدرتمندی برای انجام عملیات حسابی (صحیح) در اسکریپت‌ها فراهم می‌سازد. ترجمه یک رشته به عبارت حسابی با استفاده از نقل‌قول‌های برعکس، پرانتزهای دوتایی، یا فرمان let به نسبت آسان است.

انواع

بسط حسابی باbacktickها (بیشتر اوقات در تلفیق با expr استفاده شده)

z=`expr $z + 3`          # فرمان ‎'expr'‎ بسط را انجام می‌دهد.

بسط حسابی با پرانتزهای دوتایی، و استفاده از let

به کار بردن backtickها (نقل‌قول‌های برعکس) در بسط حسابی، بواسطه پرانتزهای دوتایی -- ‎((...))‎ و ‎$((...))‎ -- و همچنین بوسیله ساختار بسیار راحت let از اعتبار افتاده است.

z=$(($z+3))
z=$((z+3))         #                                 .این نیز صحیح است
                   # .داخل پرانتزهای دوتایی ارجاع پارامتر، اختیاری است

#    ‎$((EXPRESSION))‎ بسط حسابی است. نباید با جایگزینی فرمان اشتباه شود.


# .داخل پرانتزهای دوتایی بدون تخصیص نیز می‌توانید عملیات را انجام بدهید

  n=0
  echo "n = $n"           # n = 0

  (( n += 1 ))            #                    افزایش
                          #  ‎(( $n += 1 ))‎ نادرست است!
  echo "n = $n"           #                     n = 1


let z=z+3
let "z += 3"  # .نقل‌قولها، استفاده از فاصله در تخصیص متغیر را میسر می‌کنند
              #در واقع عملگر 'let' به جای بسط، ارزیابی حسابی انجام می‌دهد.

مثالهای بسط حسابی در اسکریپت‌ها:

  1. مثال ‎16-9‎

  2. مثال ‎11-15‎

  3. مثال ‎27-1‎

  4. مثال ‎27-11‎

  5. مثال ‎A-16‎