Thread [bash] Wie kann man bei Fallunterschieden die Variablen vertauschen? (2 answers)
Opened by Wild.Card at 2017-07-29 23:37

Wild.Card
 2017-07-29 23:37
#187054 #187054
User since
2017-02-27
19 articles
BenutzerIn
[default_avatar]
Hallo zusammen, ich hoffe euch gehts gut und ihr habt ein schönes Wochenende :) Vielleicht sollte ich für sowas ein andere Forum aufsuchen, aber vielleicht kennt sich hier jemand etwas mit Bash aus..
Ich habe hier einfach Zahlenvariablen deklariert und eine if-Anweisung formuliert:
Code: (dl )
1
2
3
4
5
$ declare -i n1 n2 
$ n1=3+4*5
$ n2=(3+4)*5
$ if (("$n1" < "$n2")); then echo "number $n1 is smaller with the difference of 12 from $n2" ; fi
number 23 is smaller with the difference of 12 from 35

SO gut, so einfach.. Nun habe ich das mit der else-Anweisung gemacht und versucht die Zahlen umzutauschen, also so dass n2=23 und n1=35 ist:

Code: (dl )
1
2
3
4
5
$ if (("$n1" < "$n2")); then echo "number $n1 is smaller with the difference of 12 from $n2" ; else echo "$n2 is larger than $n1" ; fi
number 23 is smaller with the difference of 12 from 35
$ n1=$n2 ; n2=$n1
$ if (("$n1" < "$n2")); then echo "number $n1 is smaller with the difference of 12 from $n2" ; else echo "$n2 is larger than $n1" ; fi
[b]35 is larger than 35


wie man sehen kann, hat Bash wohl die Variable überschrieben und dann passierte dieser Klamauks.. Ist es irgendwo festgeschrieben wie man die Variablen regelgerecht vertauschen kann?
Last edited: 2017-07-29 23:39:20 +0200 (CEST)

View full thread [bash] Wie kann man bei Fallunterschieden die Variablen vertauschen?