Inhalt
- So fügen Sie einem Bash-Skript Berechnungen hinzu
- Gleitkomma-Arithmetik in Bash
- Alternative Syntax für Arithmetik
So fügen Sie einem Bash-Skript Berechnungen hinzu
Obwohl Bash eine Skriptsprache ist, verfügt sie über nahezu alle Funktionen einer Allzweck-Programmiersprache. Dies beinhaltet arithmetische Funktionen. Es gibt eine Reihe von Syntaxoptionen, mit denen Sie die arithmetische Auswertung eines Ausdrucks aufrufen können. Das vielleicht am besten lesbare ist das Lassen Befehl. Beispielsweise:
sei m = (4 · 1024)
berechnet 4 mal 1024 und ordnet das Ergebnis der Variablen "m" zu.
Sie können das Ergebnis ausdrucken, indem Sie ein hinzufügen Echo Aussage:
Echo $ m
Sie können auch eine Datei mit den Bash-Befehlen erstellen. In diesem Fall sollten Sie oben in der Datei eine Zeile einfügen, die das Programm angibt, das den Code ausführen soll. Beispielsweise:
#! / bin / bash
Angenommen, die ausführbare Bash-Datei befindet sich in / bin / bash. Sie müssen auch die Berechtigungen Ihrer Skriptdatei so festlegen, dass sie ausführbar ist. Angenommen, der Name der Skriptdatei lautet script1.shkönnen Sie die Berechtigungen festlegen, um die Datei mit dem folgenden Befehl ausführbar zu machen:
chmod + x script1.sh
Danach können Sie es mit dem folgenden Befehl ausführen:
./script1.sh
Die verfügbaren arithmetischen Operationen ähneln denen in Standardprogrammiersprachen wie Java und C. Neben der oben dargestellten Multiplikation verwenden Sie zusätzlich:
sei m = (5 + 5)
oder Subtraktion:
sei m = (10 - 2)
oder Teilung:
sei m = (10/2)
oder Modulo (der Rest nach einer ganzzahligen Division):
sei m = (11/2)
Wenn eine Operation auf dieselbe Variable angewendet wird, der das Ergebnis zugewiesen ist, können Sie die standardmäßigen arithmetischen Kurzschriftzuweisungsoperatoren verwenden, die auch als zusammengesetzte Zuweisungsoperatoren bezeichnet werden. Zum Beispiel haben wir zusätzlich:
((m + = 15))
was äquivalent zu "m = m + 15" ist. Zur Subtraktion haben wir:
((m- = 3))
was äquivalent zu "m = m - 3" ist. Für die Teilung haben wir:
((m / = 5))
was äquivalent zu "m = m / 5" ist. Und für Modulo haben wir:
((m% = 10))
was äquivalent zu "m = m% 10" ist.
Zusätzlich können Sie die verwenden Zuwachs und Dekrement Betreiber:
((m ++))
ist äquivalent zu "m = m + 1". Und
((m--))
ist äquivalent zu "m = m - 1".
Gleitkomma-Arithmetik in Bash
Das Lassen Der Operator funktioniert nur für Ganzzahlarithmetik. Für die Gleitkomma-Arithmetik können Sie beispielsweise den GNU bc-Rechner verwenden, wie in diesem Beispiel dargestellt:
Echo 32,0 + 1,4 | bc
Der "Pipe" -Operator "|" Übergibt den arithmetischen Ausdruck "32.0 + 1.4" an den bc-Rechner, der die reelle Zahl zurückgibt. Der Befehl echo druckt das Ergebnis in die Standardausgabe.
Alternative Syntax für Arithmetik
Backticks (einfache Anführungszeichen) können verwendet werden, um einen arithmetischen Ausdruck wie in diesem Beispiel auszuwerten:
echo `expr $ m + 18`
Dies addiert 18 zum Wert der Variablen "m" und druckt dann das Ergebnis aus.
Um den Rechenwert einer Variablen zuzuweisen, können Sie das Gleichheitszeichen ohne Leerzeichen verwenden:
m = `expr $ m + 18`
Eine andere Möglichkeit, arithmetische Ausdrücke auszuwerten, ist die Verwendung von Doppelklammern. Beispielsweise:
((m * = 4))
Dadurch wird der Wert der Variablen "m" vervierfacht.
Neben der arithmetischen Auswertung bietet die Bash-Shell andere Programmierkonstrukte wie for-Schleifen, while-Schleifen, Bedingungen sowie Funktionen und Unterprogramme.