Linux Taschenrechner script in bash?

3 Antworten

der ca max 4 zeilen 

Na das sind immer die schlausten Vorgaben.

Um das mal schnell ad absurdum zu führen: Ich kann dir problemlos ein 1 Millionen Zeilen Bash Script konvertieren, dass es nur noch eine Zeile hat. Die Zeile wird dann halt paar Millionen Zeichen haben - aber wohl trotzdem eine Zeile.

script in bash

Irgendwie extrem unsinnig, weil es ja bereits fertige "Taschenrechner" gibt. Und vor allem alles, was du nutzt um zu Rechnen, bereits ein solcher fertiger "Taschenrechner" ist.

Siehe Antwort TeeTier- wobei man sich da ja auf die Position stellen könnte, dass das dann ja nicht bash ist, sondern expr - was ja auch nicht zwingend installiert sein muss.

Deshalb nimmst besser let oder (( )). Das ist tatsächlich von bash selber. Kann aber nichts mit Komma.

Siehe:

http://wiki.bash-hackers.org/commands/builtin/let

Ist deshalb trotzdem eine kurze Zeile.

PS: Dein 70 Zeilen Skript würde mich interessieren ;).

Gruß, Tuxgamer


PatrickMond 
Beitragsersteller
 23.11.2017, 22:55

kann es dir nach abgabe per pm schicken

0

Lerne durch verstehen fang klein an mit Tests und Erweiter Sschrittweise deine Tests,bis du dann das Ergebnis hast was du haben willst. Nur durch Lernen kommt man voran. Vorgeben kann jeder ,nur dann hast du nicht Verstanden worum es in der Aufgabe es geht.


PatrickMond 
Beitragsersteller
 23.11.2017, 18:45

nein ich verstehe es nicht habe 3 stunden dran gesessen habe noch vieeeele andere aufgaben und mein ansatz geht 70 zeilen lang ich versteh das nicht

0
Dafür reicht eine (halbe) Zeile aus:
alias taschenrechner=expr

Dann kannst du so etwas tippen:

taschenrechner 1 + 2 \* 3 - 4

... und erhältst folgende Ausgabe:

3

Ansonsten gibt es natürlich noch mehr Ansätze! Du könntest die Eingaben an bc "pipen" oder Features der Bash missbrauchen ...

Naja, viel Spaß noch damit! :)

Linuxhase  23.11.2017, 21:39

Hallo

Ansonsten gibt es natürlich noch mehr Ansätze! Du könntest die Eingaben an bc "pipen"

Zum Beispiel so:

bc -l <<<  $(echo 1050-\50)
bc -l <<< $(echo 100*/10)
bc -l <<< $(echo 2000/\2)
bc -l <<< $(echo 500+500)

Da hat man alle Grundrechenarten zusammen :-)

Linuxhase

1