将数组输出存储到 bash 脚本中的逗号分隔列表

Store array output to comma separated list in bash scripting

我已经将用户的输入输入到数组中。但我需要将它们用作逗号分隔列表。我怎样才能做到这一点?在我的例子中,输入是类似 (/usr/tmp/) 的路径。感谢您的帮助和时间。谢谢!

示例:

read "Number of subdirectories : " count
for i in $(seq 1 $count)
do
    read -e -p " Subdir : $i: " arr[$i]
done

预期结果:

$var = {arr[1],arr[2],arr[3],......}

如果你有这样的数组:

$ declare -p arr
declare -a arr='([1]="abc" [2]="def")'

您可以以逗号分隔的格式显示:

$ (IFS=,; echo "{${arr[*]}}")
{abc,def}

可以使用 命令替换将输出保存在 shell 变量中:

$ var=$(IFS=,; echo "{${arr[*]}}")
$ echo "$var"
{abc,def}