If I have an array like this in Bash:
FOO=( a b c )
How do I join the elements with commas? For example, producing a,b,c.
a,b,c
Use perl for multicharacter separators:
function join { perl -e '$s = shift @ARGV; print join($s, @ARGV);' "$@"; } join ', ' a b c # a, b, c
Or in one line:
perl -le 'print join(shift, @ARGV);' ', ' 1 2 3 1, 2, 3