在bash脚本

时间:2016-07-28 00:14:44

标签: 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

预期结果:

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

1 个答案:

答案 0 :(得分:5)

如果您有这样的数组:

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

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

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

可以使用命令替换

将该输出保存在shell变量中
$ var=$(IFS=,; echo "{${arr[*]}}")
$ echo "$var"
{abc,def}