Insert element into array at position
USAGE: insert arrayname string position
insert() { local arrayname=${1:?Arrayname required} val=$2 num=${3:-1} local array
Copy the array, $arrayname, to local array
eval "array=( \"\${$arrayname[@]}\" )"
If position is less than 0 set to 0
[ $num -lt 0 ] && num=0 #? Should this be an error instead? array=( "${array[@]:0:num}" "$val" "${array[@]:num}" )
Copy array back to $arrayname
eval "$arrayname=( \"\${array[@]}\" )" }