Does somebody know what is wrong and why it doesn't want to add all permutations in function into an array "array" and when I run for loop only gives me last value
#!/bin/bash
array=()
permutation() {
local items="$1"
local out="$2"
local i
[[ "$items" == "" ]] && array[$i]="$out" && return
for (( i=0; i<${#items}; i++ )) ; do
permutation "${items:0:i}${items:i+1}" "$out${items:i:1}"
done
}
permutation $1
for i in "${array[$i]}"
do
echo "$i"
done