33 Ich habe mich gefragt, ob es möglich ist, einfache Mathematik in bash zu machen. Ich denke so etwas wie, = 25-5 würde 20 oder so ausgeben. Kann das einfach gemacht werden? Vielen Dank bash ssh Kurru quelle 1 Wie führe ich Integer & Float-Berechnungen in Bash oder anderen Sprachen / Frameworks durch? Phuclv Antworten: 21 Tippen Sie einfach bcin das Terminal. Dann tippe das ganze Mathe-Zeug danach ein. bcsteht für " b asic c alculator" Geben Sie dann ein quitund drücken Sie die Eingabetaste, um den Vorgang zu beenden. DCIndieDev quelle 2 Nur zur Verdeutlichung wäre es so: Echo 25-5 | bc Medhat Helmy Bei einigen mathematischen Problemen müssen Sie sie möglicherweise in Anführungszeichen setzen, z. B.echo '0.6 * 12' | bc Goose Möglicherweise müssen Sie auch eine Skalierung hinzufügen, damit die Gleitkommapräzision funktioniert, dhecho "scale=2;557/3672" | bc CpILL 60 Wenn wir wirklich von Bash sprechen, nicht von Bourne Shell (sh) oder anderen Shells, ist es einfach. Bash kann grundlegende Ausdrücke mit $ ((expression)) berechnen und hier ist ein Beispiel, wie Sie es verwenden möchten: a = 3 b = 4 c = $ ((7 * a + b)) echo $ c oder für den interaktiven Gebrauch einfach echo $ ((7 * 3 + 4)) Seikku Kaita quelle Es scheint ein richtiger Schlag zu sein, da das funktioniert. Ich schaue in einen meiner Universitätscluster Kurru 4 Die $((expression))Syntax ist Teil des POSIX- shStandards und abgeleitet von ksh. Geekosaurier 6 Bash kann nur Ganzzahlen rechnen. Es kann Kommaarithmetik nicht schwimmend wie ksh93 oder zsh fpmurphy 3 Dies hätte die akzeptierte Antwort sein sollen. Andreas Hartmann 10 Es gibt eine Reihe von Befehlszeilenprogrammen für einfache Berechnungen: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 um nur zwei von ihnen zu nennen. Seien Sie vorsichtig bei der Multiplikation, * als würde die Shell versuchen, sie als Platzhalter zu interpretieren. Majenko quelle 9 Ein anderes ist AWK: awk 'BEGIN {print 4 + 3 / 12}' Bis auf weiteres angehalten. quelle 7 Nun, Ihre Frage ist beantwortet, aber beachten Sie Folgendes: Die meisten Linux-Distributionen haben Python vorinstalliert. Warum also nicht? Tipp einfach python im Terminal und dann machen Sie alle Arithmetik, die Sie wollen, wie 2+2 Gibt 4 aus :) Sie können dies auch direkt vom Terminal aus mit dem -cPython-Argument tun . python -c 'print 2+2' Marcus Maxwell quelle Auf meinem Computer pythondauert das Eingeben fast zwei Sekunden. Ziemlich ärgerlich, wenn Sie nur etwas Einfaches wie 2 + 2 tun möchten. ShreevatsaR Verwenden Sie python3, wenn Sie keine Float-Rundung wünschen. zB 2 / 30(Python: 0) (python3: 0.06666666666666667) hrvoj3e und wenn Sie python3 installiert haben, wollen aber Rundung, Verwendung 2//30oderint(2/30) mazunki 3 Oder Ruby. :) Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell. Geben Sie irbdann ein 2+2. Oder nur ruby -e 'p 2+2' Wirbelwind quelle 0 Perl ist eine weitere Option: perl -E 'say 1/7' Ausgänge 0.142857142857143 Bis auf weiteres angehalten. quelle
21 Tippen Sie einfach bcin das Terminal. Dann tippe das ganze Mathe-Zeug danach ein. bcsteht für " b asic c alculator" Geben Sie dann ein quitund drücken Sie die Eingabetaste, um den Vorgang zu beenden. DCIndieDev quelle 2 Nur zur Verdeutlichung wäre es so: Echo 25-5 | bc Medhat Helmy Bei einigen mathematischen Problemen müssen Sie sie möglicherweise in Anführungszeichen setzen, z. B.echo '0.6 * 12' | bc Goose Möglicherweise müssen Sie auch eine Skalierung hinzufügen, damit die Gleitkommapräzision funktioniert, dhecho "scale=2;557/3672" | bc CpILL 60 Wenn wir wirklich von Bash sprechen, nicht von Bourne Shell (sh) oder anderen Shells, ist es einfach. Bash kann grundlegende Ausdrücke mit $ ((expression)) berechnen und hier ist ein Beispiel, wie Sie es verwenden möchten: a = 3 b = 4 c = $ ((7 * a + b)) echo $ c oder für den interaktiven Gebrauch einfach echo $ ((7 * 3 + 4)) Seikku Kaita quelle Es scheint ein richtiger Schlag zu sein, da das funktioniert. Ich schaue in einen meiner Universitätscluster Kurru 4 Die $((expression))Syntax ist Teil des POSIX- shStandards und abgeleitet von ksh. Geekosaurier 6 Bash kann nur Ganzzahlen rechnen. Es kann Kommaarithmetik nicht schwimmend wie ksh93 oder zsh fpmurphy 3 Dies hätte die akzeptierte Antwort sein sollen. Andreas Hartmann 10 Es gibt eine Reihe von Befehlszeilenprogrammen für einfache Berechnungen: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 um nur zwei von ihnen zu nennen. Seien Sie vorsichtig bei der Multiplikation, * als würde die Shell versuchen, sie als Platzhalter zu interpretieren. Majenko quelle 9 Ein anderes ist AWK: awk 'BEGIN {print 4 + 3 / 12}' Bis auf weiteres angehalten. quelle 7 Nun, Ihre Frage ist beantwortet, aber beachten Sie Folgendes: Die meisten Linux-Distributionen haben Python vorinstalliert. Warum also nicht? Tipp einfach python im Terminal und dann machen Sie alle Arithmetik, die Sie wollen, wie 2+2 Gibt 4 aus :) Sie können dies auch direkt vom Terminal aus mit dem -cPython-Argument tun . python -c 'print 2+2' Marcus Maxwell quelle Auf meinem Computer pythondauert das Eingeben fast zwei Sekunden. Ziemlich ärgerlich, wenn Sie nur etwas Einfaches wie 2 + 2 tun möchten. ShreevatsaR Verwenden Sie python3, wenn Sie keine Float-Rundung wünschen. zB 2 / 30(Python: 0) (python3: 0.06666666666666667) hrvoj3e und wenn Sie python3 installiert haben, wollen aber Rundung, Verwendung 2//30oderint(2/30) mazunki 3 Oder Ruby. :) Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell. Geben Sie irbdann ein 2+2. Oder nur ruby -e 'p 2+2' Wirbelwind quelle 0 Perl ist eine weitere Option: perl -E 'say 1/7' Ausgänge 0.142857142857143 Bis auf weiteres angehalten. quelle
60 Wenn wir wirklich von Bash sprechen, nicht von Bourne Shell (sh) oder anderen Shells, ist es einfach. Bash kann grundlegende Ausdrücke mit $ ((expression)) berechnen und hier ist ein Beispiel, wie Sie es verwenden möchten: a = 3 b = 4 c = $ ((7 * a + b)) echo $ c oder für den interaktiven Gebrauch einfach echo $ ((7 * 3 + 4)) Seikku Kaita quelle Es scheint ein richtiger Schlag zu sein, da das funktioniert. Ich schaue in einen meiner Universitätscluster Kurru 4 Die $((expression))Syntax ist Teil des POSIX- shStandards und abgeleitet von ksh. Geekosaurier 6 Bash kann nur Ganzzahlen rechnen. Es kann Kommaarithmetik nicht schwimmend wie ksh93 oder zsh fpmurphy 3 Dies hätte die akzeptierte Antwort sein sollen. Andreas Hartmann 10 Es gibt eine Reihe von Befehlszeilenprogrammen für einfache Berechnungen: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 um nur zwei von ihnen zu nennen. Seien Sie vorsichtig bei der Multiplikation, * als würde die Shell versuchen, sie als Platzhalter zu interpretieren. Majenko quelle 9 Ein anderes ist AWK: awk 'BEGIN {print 4 + 3 / 12}' Bis auf weiteres angehalten. quelle 7 Nun, Ihre Frage ist beantwortet, aber beachten Sie Folgendes: Die meisten Linux-Distributionen haben Python vorinstalliert. Warum also nicht? Tipp einfach python im Terminal und dann machen Sie alle Arithmetik, die Sie wollen, wie 2+2 Gibt 4 aus :) Sie können dies auch direkt vom Terminal aus mit dem -cPython-Argument tun . python -c 'print 2+2' Marcus Maxwell quelle Auf meinem Computer pythondauert das Eingeben fast zwei Sekunden. Ziemlich ärgerlich, wenn Sie nur etwas Einfaches wie 2 + 2 tun möchten. ShreevatsaR Verwenden Sie python3, wenn Sie keine Float-Rundung wünschen. zB 2 / 30(Python: 0) (python3: 0.06666666666666667) hrvoj3e und wenn Sie python3 installiert haben, wollen aber Rundung, Verwendung 2//30oderint(2/30) mazunki 3 Oder Ruby. :) Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell. Geben Sie irbdann ein 2+2. Oder nur ruby -e 'p 2+2' Wirbelwind quelle 0 Perl ist eine weitere Option: perl -E 'say 1/7' Ausgänge 0.142857142857143 Bis auf weiteres angehalten. quelle
10 Es gibt eine Reihe von Befehlszeilenprogrammen für einfache Berechnungen: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 um nur zwei von ihnen zu nennen. Seien Sie vorsichtig bei der Multiplikation, * als würde die Shell versuchen, sie als Platzhalter zu interpretieren. Majenko quelle
7 Nun, Ihre Frage ist beantwortet, aber beachten Sie Folgendes: Die meisten Linux-Distributionen haben Python vorinstalliert. Warum also nicht? Tipp einfach python im Terminal und dann machen Sie alle Arithmetik, die Sie wollen, wie 2+2 Gibt 4 aus :) Sie können dies auch direkt vom Terminal aus mit dem -cPython-Argument tun . python -c 'print 2+2' Marcus Maxwell quelle Auf meinem Computer pythondauert das Eingeben fast zwei Sekunden. Ziemlich ärgerlich, wenn Sie nur etwas Einfaches wie 2 + 2 tun möchten. ShreevatsaR Verwenden Sie python3, wenn Sie keine Float-Rundung wünschen. zB 2 / 30(Python: 0) (python3: 0.06666666666666667) hrvoj3e und wenn Sie python3 installiert haben, wollen aber Rundung, Verwendung 2//30oderint(2/30) mazunki 3 Oder Ruby. :) Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell. Geben Sie irbdann ein 2+2. Oder nur ruby -e 'p 2+2' Wirbelwind quelle 0 Perl ist eine weitere Option: perl -E 'say 1/7' Ausgänge 0.142857142857143 Bis auf weiteres angehalten. quelle
3 Oder Ruby. :) Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell. Geben Sie irbdann ein 2+2. Oder nur ruby -e 'p 2+2' Wirbelwind quelle
0 Perl ist eine weitere Option: perl -E 'say 1/7' Ausgänge 0.142857142857143 Bis auf weiteres angehalten. quelle
Antworten:
Tippen Sie einfach
bc
in das Terminal. Dann tippe das ganze Mathe-Zeug danach ein.bc
steht für " b asic c alculator"Geben Sie dann ein
quit
und drücken Sie die Eingabetaste, um den Vorgang zu beenden.quelle
echo '0.6 * 12' | bc
echo "scale=2;557/3672" | bc
Wenn wir wirklich von Bash sprechen, nicht von Bourne Shell (sh) oder anderen Shells, ist es einfach.
Bash kann grundlegende Ausdrücke mit $ ((expression)) berechnen und hier ist ein Beispiel, wie Sie es verwenden möchten:
oder für den interaktiven Gebrauch einfach
quelle
$((expression))
Syntax ist Teil des POSIX-sh
Standards und abgeleitet vonksh
.Es gibt eine Reihe von Befehlszeilenprogrammen für einfache Berechnungen:
um nur zwei von ihnen zu nennen. Seien Sie vorsichtig bei der Multiplikation, * als würde die Shell versuchen, sie als Platzhalter zu interpretieren.
quelle
Ein anderes ist AWK:
quelle
Nun, Ihre Frage ist beantwortet, aber beachten Sie Folgendes:
Die meisten Linux-Distributionen haben Python vorinstalliert. Warum also nicht?
Tipp einfach
im Terminal und dann machen Sie alle Arithmetik, die Sie wollen, wie
Gibt 4 aus :)
Sie können dies auch direkt vom Terminal aus mit dem
-c
Python-Argument tun .quelle
python
dauert das Eingeben fast zwei Sekunden. Ziemlich ärgerlich, wenn Sie nur etwas Einfaches wie 2 + 2 tun möchten.2 / 30
(Python:0
) (python3:0.06666666666666667
)2//30
oderint(2/30)
Oder Ruby. :)
Obwohl es möglicherweise nicht vorinstalliert ist, ist es ziemlich schnell.
Geben Sie
irb
dann ein2+2
.Oder nur
ruby -e 'p 2+2'
quelle
Perl ist eine weitere Option:
Ausgänge
quelle