1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#! /bin/bash # Format: array_to_string vname_of_array vname_of_string separator array_to_string() { (( ($# < 2) || ($# > 3) )) && { "$FUNCNAME: usage: $FUNCNAME arrayname stringname [separator]" return 2 } local array=$1 string=$2 ((3==$#)) && [[ $3 = ? ]] && local IFS="${3}${IFS}" eval $string="\"\${$array[*]}\"" return 0 }