This commit is contained in:
harald.mueller 2023-06-28 23:17:29 +02:00
parent ce641b1e2d
commit 0ee829fb46

View File

@ -221,6 +221,14 @@ Wobei die "%s" (string), die "%f" (float), und die "%i" oder "%d" (integer=Ganzz
[![printf-formate.png](x_ressources/printf-formate.png)](https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_007_001.htm#t2t34) [![printf-formate.png](x_ressources/printf-formate.png)](https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_007_001.htm#t2t34)
<br>
<br>
<br>
<br>
<br>
<br>
#### Beispiel 'printf' und 'echo' #### Beispiel 'printf' und 'echo'
@ -233,26 +241,31 @@ Beachten Sie die Ausrichtung des Texts nach der linken und der rechten Kolonne.
![rechnungspos2.png](x_ressources/rechnungspos2.png) ![rechnungspos2.png](x_ressources/rechnungspos2.png)
*Natürlich muss am Schluss die* ** Liste ** *der Artikel-Positionen mit einer `for`-Schleife abgearbeitet werden.*
<br> <br>
<br> <br>
<br> <br>
In diesem Code-Stück kommt auch noch die schweizerische **5-Rappen-Rundung** vor. In diesem Code-Stück kommt auch noch die schweizerische **5-Rappen-Rundung** vor.
Es funktioniert über den Aufruf einer Unterfunktion, die in eier separaten Da wird ein Aufruf einer Unterfunktion, die in eier separaten
Skript-Datei untergebracht ist. Skript-Datei untergebracht ist, gemacht.
Nebenbei bemerkt: Anders als in modernen Programmiersprachen, kann eine Funktion in Bash **keine** Rückgabewerte liefern. (Nebenbei bemerkt: Anders als in modernen Programmiersprachen, kann eine Funktion in Bash **keine** Rückgabewerte liefern.)
![rechnungspos3.png](x_ressources/rechnungspos3.png) ![rechnungspos3.png](x_ressources/rechnungspos3.png)
Diese Funktion geht über die Mithilfe des Programmes `bc` (Basic Calculator) mit der Diese Funktion geht über die Mithilfe des Programmes `bc` (Basic Calculator) mit der
Multiplikation mit 20, dann die Addition von 0.5 und dann die "normale" Rundung und Multiplikation mit 20 gemacht wird.
Überführung in einen "Integer" (Ganzzahlwert), was die Kommastellen abschneidet.
Dann erfolgt eine Addition von 0.5 und dann sofort die
"normale" Rundung mit einer Überführung in einen "Integer" (Ganzzahlwert), was die Kommastellen abschneidet.
Am Schluss wird dann wieder durch 20 geteilt und auf 2 Stellen einen "Float" Am Schluss wird dann wieder durch 20 geteilt und auf 2 Stellen einen "Float"
(Reelle Zahl) zugelassen. (Reelle Zahl) zugelassen.
Der unterste Befehl ist eigentlich er Erste, denn die Funktion ist eigentlich Der unterste Befehl `round05 $1` ist eigentlich er Erste. der ausgeführt wird,
von "aussen" her gekapselt und muss zuerst aufgerufen werden. wenn die Datei aufgerufen wird. Die die Funktions-Definition ist eigentlich
von "aussen" her gekapselt und muss zuerst aufgerufen werden. Mit `$1` wird
Mit `$1` wird das erste Element nach dem Datei-Aufruf als Parameter aufgegriffen und so verarbeitet. das erste Element nach dem Datei-Aufruf als Parameter aufgegriffen und so verarbeitet.