Conţinut
- Cum să adăugați calcule la un script Bash
- Aritmetica cu punct flotant în Bash
- Sintaxă alternativă pentru aritmetică
Cum să adăugați calcule la un script Bash
Deși Bash este un limbaj de script, are aproape toate capacitățile unui limbaj de programare cu scop general. Aceasta include funcțiile aritmetice. Există o serie de opțiuni de sintaxă pe care le puteți utiliza pentru a evoca evaluarea aritmetică a unei expresii. Poate cea mai citită este cea lăsa comanda. De exemplu:
fie m = (4 * 1024)
va calcula de 4 ori 1024 și va atribui rezultatul variabilei "m".
Puteți tipări rezultatul adăugând un ecou afirmație:
ecou $ m
De asemenea, puteți crea un fișier care conține comenzile Bash, caz în care ar trebui să adăugați o linie în partea de sus a fișierului care specifică programul care ar trebui să execute codul. De exemplu:
#! / Bin / bash
presupunând că executabilul Bash este situat în / Bin / bash. De asemenea, trebuie să setați permisiunile fișierului dvs. script, astfel încât acesta să fie executabil. Presupunând că numele fișierului script este script1.sh, puteți seta permisiunile pentru ca fișierul să fie executabil cu comanda:
chmod + x script1.sh
După aceea, îl poți executa cu comanda:
./script1.sh
Operațiunile aritmetice disponibile sunt similare cu cele din limbajele de programare standard precum Java și C. În afară de multiplicare, așa cum este ilustrat mai sus, utilizați adaos:
fie m = (5 + 5)
sau scădere:
fie m = (10 - 2)
sau divizare:
fie m = (10/2)
sau modulo (restul după o diviziune întreagă):
fie m = (11/2)
Când o operație este aplicată aceleiași variabile căreia i-a fost atribuit rezultatul, puteți utiliza operatorii de atribuire de arhitectură standard, numiți de asemenea operatori de atribuire a compusului. De exemplu, în plus, avem:
((m + = 15))
ceea ce este echivalent cu "m = m + 15". Pentru scădere avem:
((m- = 3))
ceea ce este echivalent cu „m = m - 3”. Pentru divizare avem:
((m / = 5))
ceea ce este echivalent cu „m = m / 5”. Iar pentru modulo, avem:
((m% = 10))
ceea ce este echivalent cu "m = m% 10".
În plus, puteți utiliza funcția creştere și decrementare operatori:
((m ++))
este echivalent cu "m = m + 1". Și
((m--))
este echivalent cu „m = m - 1”.
Aritmetica cu punct flotant în Bash
lăsa operatorul funcționează numai pentru aritmetica întreagă. Pentru aritmetica cu punct flotant, puteți utiliza, de exemplu, calculatorul GNU bc, așa cum este ilustrat în acest exemplu:
ecou 32.0 + 1.4 | bc
"Operatorul" conductă "|" trece expresia aritmetică "32.0 + 1.4" la calculatorul bc, care returnează numărul real. Comanda eco imprimă rezultatul la ieșirea standard.
Sintaxă alternativă pentru aritmetică
Backticks (înapoi citate unice) pot fi utilizate pentru a evalua o expresie aritmetică, ca în acest exemplu:
ecou `expr $ m + 18`
Aceasta va adăuga 18 la valoarea variabilei "m" și apoi va imprima rezultatul.
Pentru a atribui valoarea calculului unei variabile puteți utiliza semnul egal fără spații din jurul său:
m = `expr $ m + 18 '
Un alt mod de a evalua expresiile aritmetice este utilizarea parantezei duble. De exemplu:
((m * = 4))
Aceasta va quadrupla valoarea variabilei "m".
Pe lângă evaluarea aritmetică, shell-ul Bash oferă și alte construcții de programare, cum ar fi pentru-bucle, loop-uri, condiționări, și funcții și subrutine.