I'm not sure if this has been answered, I've looked and haven't found anything that looks like what I'm trying to do.I have a number of shell scripts that are capable of running against a ksh or bash shell, and they make use of arrays. I created a function named setArray that interrogates the running shell and determines what builtin to use to create the array - for ksh, set -A, for bash, typeset -a. However, I'm having some issues with the bash portion.The function takes two arguments, the name of the array and the value to add. This then becomes ${ARRAY_NAME} and ${VARIABLE_VALUE}. Doing the following:set -A $(eval echo \${ARRAY_NAME}) $(eval echo \${${ARRAY_NAME}[*]}) ${VARIABLE_VALUE}works perfectly in ksh. However,typeset -a $(eval echo \${ARRAY_NAME})=( $(eval echo \${${ARRAY_NAME}[*]}) ${VARIABLE_VALUE} )does not. This providesbash: syntax error near unexpected token '('I know I can just make it a list of strings (e.g. MYARRAY=one two three) and just loop through it using the IFS, but I don't want to lose the ability to use an array either.Any thoughts ?
Create array in bash with variables as array name
bash;shell script;array;typeset