0

I created an array in bash by arr=($(seq 0.75 0.01 1)) . Problem is I want to create multiple folders with names like this, "folder0.75 , folder0.76,... folder1" . I tried mkdir folder${arr} but it does not give me what I want.

mynameisJEFF
  • 4,073
  • 9
  • 50
  • 96

2 Answers2

2
for i in ${arr[@]}; do 
  mkdir "folder${i}"
done

or with bash's Parameter Expansion:

mkdir "${arr[@]/#/folder}"
Cyrus
  • 84,225
  • 14
  • 89
  • 153
  • `mkdir "{arr[@]}"` looks really elegant but how do I concatenate "folder" in front of ${arr[@]} . Also , I want to know what is difference between using single quote and double quote in this case ? – mynameisJEFF Mar 02 '15 at 06:03
  • I've fixed my answer. To your question, please take a look at: [Difference between single and double quotes in bash](http://stackoverflow.com/a/6697781/3776858) – Cyrus Mar 02 '15 at 06:19
0

Use the following code:

for item in $(cmd); do
  mkdir "$item";
done
kenorb
  • 155,785
  • 88
  • 678
  • 743
Tegra Detra
  • 24,551
  • 17
  • 53
  • 78