summaryrefslogtreecommitdiff
path: root/examples/functions/array-to-string
blob: 0d2fbe50552f566a9cd13f82072a7706ede5b66b (plain)
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
}