bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

declare does not always set variable flags prior to assignment


From: Léa Gris
Subject: declare does not always set variable flags prior to assignment
Date: Mon, 4 Oct 2021 16:17:04 +0200
User-agent: Telnet/1.0 [tlh] (PDP11/DEC)

Found out that the declare statement does not properly set all variable flags before assign values:


unset arr
declare -i -a arr=(1 2 3)
declare -p arr
declare -ai arr=([0]="1" [1]="2" [2]="3")

this is ok

declare +i -a arr=(hello world)
declare -p arr
declare -a arr=([0]="0" [1]="0")

this is not ok as arr assignment was handled as integers


Same issue with associative array

unset assoc
declare -i -A assoc=([foo]=1 [bar]=2 [baz]=3
declare -p assoc
declare -Ai assoc=([foo]="1" [bar]="2" [baz]="3" )

declare +i -A assoc=([yeet]=hello)
declare -p assoc
declare -A assoc=([yeet]="0" )



--
Léa Gris




reply via email to

[Prev in Thread] Current Thread [Next in Thread]