If you would like to join an array of elements with a defined delimiter in Bash there is an easy way to go about it by using printf
. Following is an example
#!/bin/bash
declare -a arr=()
for i in `seq 1 5`
do
arr=("${arr[@]}" $i)
done
# Generate a single string joined by a comma. The printf string can contain
# any arbitrary delimiter.
printf -v joined '%s,' "${arr[@]}"
# Print out the string minus the trailing comma
echo "${joined%,}"