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

Roc*_*k26 3 bash shell scripting .bash-profile

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

例:

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

预期结果:

$var = {arr[1],arr[2],arr[3],......}
Run Code Online (Sandbox Code Playgroud)

Joh*_*024 6

如果你有这样的数组:

$ declare -p arr
declare -a arr='([1]="abc" [2]="def")'
Run Code Online (Sandbox Code Playgroud)

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

$ (IFS=,; echo "{${arr[*]}}")
{abc,def}
Run Code Online (Sandbox Code Playgroud)

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

$ var=$(IFS=,; echo "{${arr[*]}}")
$ echo "$var"
{abc,def}
Run Code Online (Sandbox Code Playgroud)