Sono uno di quelli che programmano sempre script bash per risolvere le situazioni quotidiane (decifrare la password AP / router, automatizzare i processi, ecc.).
In certe occasioni ho visto la necessità di assegnare il valore di qualche espressione matematica a una variabile, o semplicemente lavorare con espressioni matematiche, lì mi trovo con il problema che bash e le espressioni matematiche, i calcoli non sono molto amichevoli. Succede che bash non è come Python, cosa possiamo dire variabile = 1 + 5/6 (ad esempio), in Bash dobbiamo usare il comando espr o Tracciato
Comando Espr
In altre parole, il comando expr ci aiuta a risolvere espressioni matematiche nel terminale, con esso possiamo calcolare ciò di cui abbiamo bisogno. Ad esempio, se vogliamo che appaia il risultato di 1 + 2 * 8/3, inseriamo nel terminale:
expr 1 + 2 \* 8 / 3
E il risultato apparirà sullo schermo. Ecco uno screenshot con alcuni esempi:
Nel caso in cui vogliamo assegnare a una variabile il risultato di un'espressione matematica (Es: 10/2), sarebbe così:
variable=`expr 10 / 2`
Quindi lo controlliamo con:
echo $variable
Comando Calc
Questo, a differenza del precedente, è esatto in termini di decimali, esempio:
calc 15 / 4
Ci mostrerebbe: 3.75
Ecco uno screenshot con diversi esempi:
Bene, questo è fondamentalmente ciò di cui volevo parlarti.
Tuttavia, ci sono ancora alcuni altri suggerimenti interessanti per ogni comando (soprattutto calc), ti consiglio di leggere il manuale:
man calc
man expr
saluti
Molto utile, anche se sicuramente non sarebbe buono usare Bash per i calcoli matematici, i decimali contano :)
Signor elav, abbiamo ancora la calcolatrice bash 🙂 possiamo usare l'argomento -l per usare la libreria matematica standard
qualcosa del genere
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
😀
Eccellente. In questo modo evito il fastidio di installare XCalc quando uso X11 puro.
Oh, questo non lo conoscevo, fantastico !!
Grazie, è abbastanza utile 😉
Grazie ^ _ ^
Grazie. Il calcolatore di sistema è stato un concorrente per le operazioni di base.
Grazie a te per averci letto 🙂
Bel consiglio!
No me gusto