I want to have a global array, each time I call the function cal on Main, I can add a new element on array arr_var
function cal () {
# Some operation
while true; do
read -p "would you like asignment ? on ${var} " yn
case $yn in
[Yy]* ) arr_var+=$var
[Nn]* ) break;;
* ) echo "Please answer yes or no.";;
esac
# Some operation
done
}
# Main
eval arr_var=()
cal "aa"
cal "bb"
cal "cc"
That I want
printf '%s\n' "${arr_var[@]}"
aa bb cc
but I get
aabbcc