Tarkib
- Bash-skriptga hisob-kitoblarni qanday kiritish kerak
- Bashdagi suzuvchi nuqta arifmetikasi
- Arifmetikaga alternativ sintaksis
Bash-skriptga hisob-kitoblarni qanday kiritish kerak
Bash skript tili bo'lsa ham, umumiy maqsadli dasturlash tilining barcha imkoniyatlariga ega. Bunga arifmetik funktsiyalar kiradi. Ifodani arifmetik baholashni qo'zg'atish uchun siz foydalanishingiz mumkin bo'lgan bir qator sintaksis variantlari mavjud. Ehtimol, eng ko'p o'qiladigan - bu ijozat bering buyruq. Misol uchun:
bo'lsin m = (4 * 1024)
4 marta 1024ni hisoblab chiqadi va natijani "m" o'zgaruvchisiga tayinlaydi.
Siz natijani qo'shib chop etishingiz mumkin aks-sado bayonot:
echo $ m
Bundan tashqari, Bash buyruqlari mavjud bo'lgan faylni yaratishingiz mumkin, bu holda siz kodni bajarishi kerak bo'lgan dasturni ko'rsatadigan faylning yuqori qismiga chiziq qo'shishingiz kerak. Misol uchun:
#! / bin / bosh
Bash bajarilishi mumkin bo'lgan joyda joylashgan deb taxmin qilish / bin / bosh. Siz shuningdek skript faylingizning ruxsatini o'rnatishingiz kerak, shunda u bajarilishi mumkin. Skript fayl nomini faraz skript1.sh, buyruq yordamida faylni bajarilishi uchun ruxsatlarni o'rnatishingiz mumkin:
chmod + x script1.sh
Shundan so'ng uni buyruq bilan bajarishingiz mumkin:
./script1.sh
Mavjud arifmetik operatsiyalar Java va S kabi standart dasturlash tillaridagi operatsiyalarga o'xshaydi, yuqorida ko'rsatilgandek ko'paytirishdan tashqari siz qo'shimcha ravishda foydalanasiz:
m = (5 + 5) bo'lsin
yoki ayirish:
m = (10 - 2) bo'lsin
yoki bo'linish:
bo'lsin m = (10/2)
yoki modulo (butun sonni ajratgandan keyin qolgan qismi):
bo'lsin m = (11/2)
Agar operatsiya natija tayinlangan bir xil o'zgaruvchiga qo'llanilsa, standart arifmetik stsenariylarni tayinlash operatorlaridan foydalanishingiz mumkin, shuningdek aralash aralashtirish operatorlari deb ham ataladi. Masalan, qo'shimcha ravishda bizda:
((m + = 15))
bu "m = m + 15" ga teng. Olib tashlash uchun bizda:
((m- = 3))
"m = m - 3" ga teng. Bo'linish uchun bizda:
((m / = 5))
bu "m = m / 5" ga teng. Va modulo uchun bizda:
((m% = 10))
bu "m = m% 10" ga teng.
Bundan tashqari, siz foydalanishingiz mumkin o'sish va pasayish operatorlar:
((m ++))
"m = m + 1" ga teng. Va
((m--))
"m = m - 1" ga teng.
Bashdagi suzuvchi nuqta arifmetikasi
The ijozat bering operator faqat butun arifmetikaga ishlaydi. Suzuvchi nuqta arifmetikasi uchun siz ushbu misolda ko'rsatilgan GNU bc kalkulyatoridan foydalanishingiz mumkin:
echo 32.0 + 1.4 | bc
"Quvur" operatori "|" haqiqiy raqamni qaytaradigan bc kalkulyatoriga "32.0 + 1.4" arifmetik ifodasini yuboradi. Exo buyrug'i natijani standart chiqishga chiqaradi.
Arifmetikaga alternativ sintaksis
Ushbu misoldagi kabi, arifmetik ifodani baholash uchun Backticks (orqaga bitta tirnoq) dan foydalanish mumkin:
echo `expr $ m + 18`
Bu "m" o'zgaruvchisining qiymatiga 18 ni qo'shadi va natijani chiqaradi.
O'zgaruvchiga hisoblash qiymatini belgilash uchun teng belgidan uning atrofidagi bo'shliqlarsiz foydalanishingiz mumkin:
m = `ekspr $ m + 18`
Arifmetik ifodalarni baholashning yana bir usuli - er-xotin qavslardan foydalanish. Misol uchun:
((m * = 4))
Bu "m" o'zgaruvchisining qiymatini to'rt baravar ko'paytiradi.
Arifmetik baholanishdan tashqari, Bash qobig'i boshqa dasturlash konstruktsiyalarini, masalan, for-loops, while-looplar, shartlar va funktsiyalar va qo'shimcha dasturlarni taqdim etadi.