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)
<br>
<br>
<br>
<br>
<br>
<br>
#### 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)
*Natürlich muss am Schluss die* ** Liste ** *der Artikel-Positionen mit einer `for`-Schleife abgearbeitet werden.*
<br>
<br>
<br>
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
Skript-Datei untergebracht ist.
Da wird ein Aufruf einer Unterfunktion, die in eier separaten
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)
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
Überführung in einen "Integer" (Ganzzahlwert), was die Kommastellen abschneidet.
Multiplikation mit 20 gemacht wird.
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"
(Reelle Zahl) zugelassen.
Der unterste Befehl ist eigentlich er Erste, denn die Funktion ist eigentlich
von "aussen" her gekapselt und muss zuerst aufgerufen werden.
Mit `$1` wird das erste Element nach dem Datei-Aufruf als Parameter aufgegriffen und so verarbeitet.
Der unterste Befehl `round05 $1` ist eigentlich er Erste. der ausgeführt wird,
wenn die Datei aufgerufen wird. Die die Funktions-Definition ist eigentlich
von "aussen" her gekapselt und muss zuerst aufgerufen werden. Mit `$1` wird
das erste Element nach dem Datei-Aufruf als Parameter aufgegriffen und so verarbeitet.