Unterschied $((1+2)) und ((1+2)) im Shellscripting?

...komplette Frage anzeigen

1 Antwort

$((1+2)) ist ein Parameter, der von der Bash expandiert wird. Dabei werden diese Zeichen durch das Ergebnis ersetzt: "x=$((1+2))" expandiert zu "x=3".

((1+2)) ist ein Befehl, der je nach Ergebis 0 oder 1 zurückgibt: if ((1+2)); ...

Innerhalb des geklammerten Ausdrucks werden alle Token expandiert und berechnet. Mit der Schreibweise $x wird x schon vor der Auswertung als Text ersetzt:

a=1+2
echo "a =" $a "a*a =" $((a*a)) '$a*$a =' "$a*$a =" $(( $a*$a ))
a = 1+2 a*a = 9 $a*$a = 1+2*1+2 = 5
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von mee452
17.05.2017, 14:39

Danke :) Das hat mir echt weitergeholfen

0

Was möchtest Du wissen?