[linux] $[ 3 * 3 ] en $(( 3 * 3 ))

Geert Stappers stappers op stappers.nl
Za Jul 1 21:41:47 CEST 2023


On Sat, Jul 01, 2023 at 01:07:40PM +0200, Guus Snijders:
> Op vr 30 jun. 2023 21:30 schreef Geert Stappers:
> >
> > Mocht ik in "shell" moeten rekenen, dan gebruik ik $[  ]
> > voorbeeld
> >     UUR=$[60 * 60]
> >
> > Nu kwam ik  $((  ))  als berekening tegen.
> >
> > Een testje gedaan.
> >
> >     echo  $[ 3 * 3 ]
> >     echo $(( 3 * 3 ))
> >
> > Beide geven 9 als antwoord.
> >
> > Wat is er aan verschil?
> > Wanneer de ene gebruiken, wanneer de andere?
> >
> 
> Even snel zoeken leverde deze link op:
> 
> https://unix.stackexchange.com/questions/66977/difference-between-two-types-of-shell-arithmetic
 

Dank voor "arithmetic" als zoekterm.

> Kennelijk is $[] een deprecated vorm voor bash arithmetic
> en wordt $(()) geadviseerd.

Met behulp van bovenstaande link het advies teruggevonden.
Het staat er nog steeds. Het beantwoord ook mijn oorspronkelijk vraag.
Antwoorden:

  Verschil is dat de $[ ] kandiaat is om verwijdert te worden.
  De $(( )) is in bash meer toekomst bestendig.


> Dat zegt natuurlijk weinig over andere shells.

Inderdaad


Groeten
Geert Stappers
-- 
Silence is hard to parse


Meer informatie over de Linux maillijst