Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Linux Shell-Skripte / Rechnen in Shellskripten

Rechnen in Shellskripten

Kategorie: Linux Shell-SkripteErstellt: 02.10.2007 - 23:58 Geändert: 01.04.2010 - 09:46
Autor: Stefan Abu Salah
0

Rechnen in Shellskripten


Es gibt unterschiedliche Möglichkeiten in Skripten zu rechnen. Wir werden uns hier auf eine Methode beschränken, da diese auf allen Shells funktioniert. Wir werden Berechnungen in Shellskripten immer mit dem tool expr (evaluate expressions) durchführen. Beachten Sie dass die bash und somit auch expr nur ganzzahlige Berechnungen durchführen kann. Möchte man Gleitkommaberechnungen durchführen kann man das Programm bc (binary calculator), awk oder Perl bemühen.

Bei vielen Ausdrücken muss auch hier ein Backslash vor einige von der Shell anders interpretierte Zeichen gesetzt werden. Beachten Sie außerdem, dass zwischen die mathematischen Operatoren und die Zahlen ein Space (" ") gehört (" "ZAHL" "+" "ZAHL" ").

Beispiel: Verwendung von expr in der Shell

stefan@troubadix/home/stefan$ expr ( 5 * 3 )
15
# expr kann nur Ganzzahlen
stefan@troubadix/home/stefan$ expr ( 5 / 3 )
1

expr gibt standartmäßig das Ergebis der Berechnung auf der Konsole aus, in Shellskripten will man jedoch oft das Ergebis in einer Variablen stehen haben, um später mit diesem Ergebnis weiterrechnen zu können. Dies ist durch Kommandosubstitution möglich.

Beispiel: Verwendung von expr in Shellskripten durch Kommandosubstitution

result=`expr 5 + 5`
echo $result
10

Optionen von expr:

ARG1 + ARG2 Aritmetische Summe von ARG1 und ARG2
ARG1 - ARG2 Aritmetische Subtraktion von ARG1 und ARG2
ARG1 * ARG2 Aritmetisches Produkt von ARG1 und ARG2
ARG1 / ARG2 Aritmetischer Quotient von ARG1 getilt durch ARG2
ARG1 % ARG2 Aritmetische Restklasse von ARG1 geteilt durch ARG2
ARG1 < ARG2 ARG1 ist kleiner als ARG2
ARG1 <= ARG2 ARG1 ist kleiner gleich ARG2
ARG1 = ARG2 ARG1 ist gleich ARG2
ARG1 != ARG2 ARG1 ist ungleich ARG2
ARG1 >= ARG2 ARG1 ist größer oder gleich ARG2
ARG1 > ARG2 ARG1 ist größer ARG2



Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Linux Shell-Skripte / Rechnen in Shellskripten
simplum