Sóc dels que sempre estan programant scripts colpejar per resoldre situacions del dia a dia (crackejar el password d'el AP / Router, automatitzar processos, etc).
En determinades ocasions m'he vist en la necessitat de assignar-li el valor d'alguna expressió matemàtica a una variable, o simplement treballar amb expressions matemàtiques, aquí em trobo amb el problema que bash i les expressions matemàtiques, els càlculs no són molt amics. Passa que bash no és com python, que podem dir variable = 1 + 5/6 (Per exemple), en Bash haurem d'usar la comanda expressar o calcular
comando expr
O sigui, la comanda expr ens serveix per resoldre expressions matemàtiques a la terminal, amb ell podem calcular el que necessitem. Per exemple, si volem que ens aparegui el resultat de 1 + 2 * 8/3 posem a la terminal:
expr 1 + 2 \* 8 / 3
I en pantalla ens apareixerà el resultat. Aquí els deixo un screenshot amb alguns exemples:
En cas que vulguem assignar-li a una variable el resultat d'una expressió matemàtica (Ex: 10/2), seria així:
variable=`expr 10 / 2`
Després ho vam comprovar amb:
echo $variable
comando calc
Aquest a diferència de l'anterior sí que és exacte pel que fa als decimals, exemple:
calc 15 / 4
Ens mostraria: 3.75
Aquí els deixo un screenshot amb diversos exemples:
Bé, això és bàsicament el que volia comentar-.
No obstant això, encara hi ha alguns altres tips interessants de cada comanda (especialment de calc), els recomano que sigui llegeixin el manual:
man calc
man expr
Salutacions
Molt útil, encara que definitivament no seria bo fer servir Bash per a càlculs matemàtics, els decimals compten 😀
Sr. ILAV encara tenim bash calculator 🙂 podem utilitzar l'argument -l perquè utilitzi la llibreria estàndard math
alguna cosa així
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
????
Excel·lent. Així ne evito la molèstia d'instal·lar el XCalc a l'hora d'usar el X11 pur.
Oh no coneixia aquest, genial !!
Gràcies, és força útil 😉
Gràcies ^ _ ^
Gràcies. A la calculadora de el sistema li ha sortit competidor per a operacions bàsiques.
Gràcies a tu per llegir-nos 🙂
Bon tip!
no em gust