Είμαι ένας από αυτούς που προγραμματίζουν πάντα σενάρια βίαιο χτύπημα για την επίλυση καθημερινών καταστάσεων (σπάστε τον κωδικό πρόσβασης AP / Router, αυτοματοποιήστε τις διαδικασίες κ.λπ.).
Σε ορισμένες περιπτώσεις έχω δει την ανάγκη να εκχωρήσω την τιμή μιας μαθηματικής έκφρασης σε μια μεταβλητή, ή απλώς να δουλέψω με μαθηματικές εκφράσεις, εκεί βρίσκομαι με το πρόβλημα ότι bash και μαθηματικές εκφράσεις, οι υπολογισμοί δεν είναι πολύ φιλικοί. Συμβαίνει ότι το bash δεν είναι σαν τον πύθωνα, τι μπορούμε να πούμε μεταβλητή = 1 + 5/6 (για παράδειγμα), στο Bash πρέπει να χρησιμοποιήσουμε την εντολή expr o ιχνηλασία
Expr εντολή
Με άλλα λόγια, η εντολή expr μας βοηθά να λύσουμε μαθηματικές εκφράσεις στο τερματικό, με αυτό μπορούμε να υπολογίσουμε τι χρειαζόμαστε. Για παράδειγμα, εάν θέλουμε να εμφανιστεί το αποτέλεσμα 1 + 2 * 8/3, βάζουμε στο τερματικό:
expr 1 + 2 \* 8 / 3
Και το αποτέλεσμα θα εμφανιστεί στην οθόνη. Ακολουθεί ένα στιγμιότυπο οθόνης με μερικά παραδείγματα:
Σε περίπτωση που θέλουμε να εκχωρήσουμε σε μια μεταβλητή το αποτέλεσμα μιας μαθηματικής έκφρασης (Π.χ .: 10/2), θα ήταν έτσι:
variable=`expr 10 / 2`
Στη συνέχεια το ελέγξουμε με:
echo $variable
Υπολογισμός εντολής
Αυτό, σε αντίθεση με το προηγούμενο, είναι ακριβές ως προς τα δεκαδικά, για παράδειγμα:
calc 15 / 4
Θα μας δείξει: 3.75
Ακολουθεί ένα στιγμιότυπο οθόνης με πολλά παραδείγματα:
Λοιπόν, αυτό είναι βασικά για το οποίο ήθελα να σας πω.
Ωστόσο, εξακολουθούν να υπάρχουν μερικές άλλες ενδιαφέρουσες συμβουλές για κάθε εντολή (ειδικά calc), σας συνιστούμε να διαβάσετε το εγχειρίδιο:
man calc
man expr
αφορά
Πολύ χρήσιμο, αν και σίγουρα δεν θα ήταν καλό να χρησιμοποιήσετε το Bash για υπολογισμούς μαθηματικών, τα δεκαδικά ψηφία :)
Κύριε elav έχουμε ακόμα αριθμομηχανή bash - μπορούμε να χρησιμοποιήσουμε το όρισμα -l για να χρησιμοποιήσουμε την τυπική βιβλιοθήκη μαθηματικών
κάτι τέτοιο
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
????
Εξοχος. Με αυτόν τον τρόπο, αποφεύγω την ταλαιπωρία της εγκατάστασης του XCalc όταν χρησιμοποιώ καθαρό X11.
Ω δεν το ήξερα, υπέροχο !!
Ευχαριστώ, είναι αρκετά χρήσιμο 😉
Ευχαριστώ ^ _ ^
Ευχαριστώ. Ο υπολογιστής συστήματος υπήρξε ανταγωνιστής για βασικές λειτουργίες.
Σας ευχαριστούμε που μας διαβάσατε 🙂
Καλή συμβουλή!
Δεν μου γούστο