Software-Ul

Aritmetica în Bash

Autor: Louise Ward
Data Creației: 3 Februarie 2021
Data Actualizării: 15 Mai 2024
Anonim
Aritmética entera (teoría)
Video: Aritmética entera (teoría)

Conţinut

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.

Sfaturile Noastre

Popular Astăzi

Cum dezactivați repornirea automată din meniul ABO în Windows 7 folosind F8
Software-Ul

Cum dezactivați repornirea automată din meniul ABO în Windows 7 folosind F8

Window 7 ete configurat în mod implicit pentru a reporni după o defecțiune majoră a itemului ca un ecran albatru al morții. Din păcate, ata nu vă oferă nicio ocazie de a documenta meajul de eroar...
Cum se utilizează Scratchpad-ul browserului Firefox
Internet

Cum se utilizează Scratchpad-ul browserului Firefox

AlegeCarnet pentru notițe, găit în acet meniu. Puteți utiliza următoarea curtătură de la tatatură în locul acetui element de meniu:CHIMB+F4. cratchpad ar trebui ă fie afișat acum într-...