Le 11/01/2021 à 15:42, Léa Gris écrivait :
Declare an integer associative array instead:
echo "$BASH_VERSION"
5.0.17(1)-release
declare -Ai aa
x='y[$(date >&2)0]'
aa[$x]=1
declare -p aa
declare -Ai aa=(["y[\$(date >&2)0]"]="1" )
aa[$x]+=1
declare -p aa
declare -Ai aa=(["y[\$(date >&2)0]"]="2" )
And forgot one more safe use of arithmetic expression:
safe_arith_index=${x@Q}
declare -p safe_arith_index
declare -- safe_arith_index="'y[\$(date >&2)0]'"
(( aa[$safe_arith_index]++ ))
declare -p aa
declare -Ai aa=(["y[\$(date >&2)0]"]="3" )
--
Léa Gris