如何加入一个字符串数组,其中每个字符串都有空格?

Use*_*ame 3 bash array shell-script quoting

我的 bash 脚本:

#!bin/bash
MY_ARRAY=("Some string" "Another string")
function join { local IFS="$1"; shift; echo -e "$*"; }
join "," ${MY_ARRAY[@]}
Run Code Online (Sandbox Code Playgroud)

我希望输出为: Some string,Another string.

相反,我得到Some,string,Another,string.

我必须改变什么才能得到我想要的结果?

Wil*_*ard 10

我修改过的脚本版本:

#!bin/bash
my_array=("Some string" "Another string")
my_join() {
  [ "$#" -ge 1 ] || return 1
  local IFS="$1"
  shift
  printf '%s\n' "$*"
}
my_join , "${my_array[@]}"
Run Code Online (Sandbox Code Playgroud)

笔记: