2016-07-28 27 views
2

我已将用户输入输入到数组中。但我需要使用它们作为逗号分隔列表。我怎样才能做到这一点?在我的情况下,输入路径是(/ usr/tmp /)。我感谢你的帮助和时间。谢谢 !在bash脚本中将数组输出存储为以逗号分隔的列表

实施例:

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],......} 

回答

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} 
+0

由于@约翰。我试过了,但它不起作用。我得到了一个错误,如没有这样的文件或目录。 – Rock26

+0

@ Rock26哪个命令产生错误?也请让我看看完整的确切的错误信息。 (不要重新键入:从你的终端复制并粘贴到这里) – John1024

+0

当然../ count_lines.sh:第22行= {plugme/web /,plugme/modules /}:没有这样的文件或目录 – Rock26

相关问题