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.