ساختار پرانتزهای دوگانه

فصل 8. عملکردها و مباحث مربوط

‎8.3‎- ساختار پرانتزهای دوگانه

مشابه فرمان let، ساختار ‎(( ... ))‎ نیز بسط و ارزیابی حسابی را مجاز می‌سازد. در ساده‌ترین شکل آن، ‎a=$(( 5 + 3 ))‎ مقدار a را به ‎5 + 3‎‏، یا 8 تنظیم می‌کند. اگرچه، این ساختار پرانتزهای دوگانه مکانیسمی برای مجاز کردن دستکاری سبکِ C متغیرها در Bash نیز می‌باشد، برای مثال، ‎(( var++ ))‎.

مثال ‎8-5‎. دستکاری سبکِ C متغیرها

#!/bin/bash
# 
# 


echo

(( a = 23 ))  # 
              #+ 
echo "a (initial value) = $a"   # 

(( a++ ))     #      
echo "a (after a++) = $a"       # 

(( a-- ))     #        
echo "a (after a--) = $a"       # 


(( ++a ))     #     
echo "a (after ++a) = $a"       # 

(( --a ))     #       
echo "a (after --a) = $a"       # 

echo

# 
# 
#+ 

n=1; let --n && echo "True" || echo "False"  # 
n=1; let n-- && echo "True" || echo "False"  # 

# 
#

echo

(( t = a<45?7:11 ))   # 
#       ^  ^ ^
echo "If a < 45, then t = 7, else t = 11."  # 
echo "t = $t "                              # 

echo


#                   
#                      
#                   
# 
#+  
#  
#+                اما فراتر از آن می‌رود. متاسفم Chet، راز برملا شد.‎

# 

#            

exit

همچنین مثال ‎11-13‎ و مثال ‎8-4‎ را ببینید.