Számítások hozzáadása Bash-szkripthez
Mit kell tudni
- Használja a hagyja parancs egy kifejezés aritmetikai kiértékelésének előállításához, például in legyen m=(4 * 1024).
- Az elérhető aritmetikai műveletek hasonlóak a szabványos programozási nyelvek, például a Java és a C műveleteihez.
- A let operátor csak egész számok esetén működik. Lebegőpontos aritmetika esetén használja a GNU-t bc számológép.
Bár a Bash egy szkriptnyelv, az általános célú programozási nyelvek legtöbb képességével rendelkezik. Ez magában foglalja az aritmetikai függvényeket is. Így adhat hozzá számításokat egy bash szkripthez.
Számítások hozzáadása Bash-szkripthez
Számos ilyen van szintaxis opciók, amelyek segítségével előhívhatja egy kifejezés aritmetikai kiértékelését. Talán a legolvasottabb az hagyja parancs. Például:
legyen m=(4 * 1024)
4-szer 1024-et számít ki, és az eredményt az "m" változóhoz rendeli.
Az eredményt kinyomtathatja egy visszhang nyilatkozat:
visszhang $m
Létrehozhat olyan fájlt is, amely tartalmazza a Bash parancsokat, ebben az esetben a fájl tetejére egy sort kell hozzáadni, amely megadja a kódot végrehajtani kívánt programot. Például:
#! /bin/bash
Feltételezve, hogy a Bash végrehajtható fájl itt található /bin/bash. A szkriptfájl engedélyeit is be kell állítania, hogy az végrehajtható legyen. Feltételezve, hogy a szkriptfájl neve script1.sh, beállíthatja a fájl futtathatóvá tételének engedélyeit a következő paranccsal:
chmod +x script1.sh
Ezt követően végrehajthatja a parancs:
./script1.sh
Az elérhető aritmetikai műveletek hasonlóak a szabványos programozási nyelvek, például a Java és a C műveleteihez. A szorzáson kívül, amint az a fenti ábrán látható, az összeadást is használja:
legyen m=(5 + 5)
vagy kivonás:
legyen m=(10-2)
vagy felosztás:
legyen m=(10/2)
vagy modulo (egész osztás utáni maradék):
legyen m=(11/2)
Ha egy műveletet ugyanarra a változóra alkalmaz, amelyhez az eredmény hozzá van rendelve, használhatja a szabványos aritmetikai gyorsírási hozzárendelési operátorokat, amelyeket összetett hozzárendelési operátoroknak is neveznek. Például kiegészítésképpen a következőket kínáljuk:
(( m+=15 ))
ami "m = m + 15"-nek felel meg. A kivonáshoz a következőket használjuk:
(( m-=3 ))
ami "m = m - 3"-nak felel meg. A divízióhoz rendelkezünk:
(( m/=5 ))
ami "m = m / 5"-nek felel meg. A modulo esetében pedig a következőket kínáljuk:
(( m%=10 ))
ami "m = m % 10"-nek felel meg.
Ezenkívül használhatja a növekedés és csökkenése operátorok:
(( m++ ))
"m = m + 1"-nek felel meg. És.
(( m-- ))
"m = m - 1"-nek felel meg.
Lebegőpontos aritmetika bashban
Az hagyja operátor csak egész számok esetén működik. Lebegőpontos aritmetikához használhatja például a GNU-t bc számológép amint ez a példában látható:
visszhang 32,0+1,4 | időszámításunk előtt
A "pipe" operátor "|" átadja a "32,0 + 1,4" számtani kifejezést a bc-számítógépnek, amely a valós számot adja vissza. Az visszhang parancs kiírja az eredményt a szabványos kimenetre.
Alternatív szintaxis az aritmetikához
A backtickek (vissza egyetlen idézőjelek) használhatók egy aritmetikai kifejezés kiértékelésére, mint ebben a példában:
echo `kifejezés $m + 18`
Ez hozzáad 18-at az "m" változó értékéhez, majd kinyomtatja az eredményt.
A számítási érték hozzárendeléséhez egy változóhoz használhatja az egyenlőségjelet szóközök nélkül:
m=`kifejezés $m + 18`
Az aritmetikai kifejezések kiértékelésének másik módja a dupla zárójelek használata. Például:
(( m*=4 ))
Ez megnégyszerezi az "m" változó értékét.
Az aritmetikai kiértékelésen kívül a Bash shell más programozási konstrukciókat is biztosít, mint pl for-hurkok, míg-hurkok, feltételes, és funkciók és szubrutinok.