First page Back Continue Last page Graphics
How can you tell defined and undefined elements apart?
This expression returns FALSE for a defined element:
(( ${newArray[0]:-"null"} == "null" ))
And it also returns TRUE for an undefined element:
(( ${newArray[1]:-"null"} == "null" ))
For example, if we fix it and try again with:
if (( ${newArray[$i]:-"null"} == "null" )); then
val="undef"
else
val=${newArray[$i]}
fi
printf "[%d]=%s " $i $val
On stdout:
newArray has 2 elements
[0]=1 [1]=undef [2]=undef [3]=99 [4]=undef