如何使用 Bash 创建多个目录

HVN*_*ing 0 linux bash

我想创建一个名为10的文件夹foo1javafoo2cfoo3python,等。

我试过了,但它创建了太多目录:

mkdir foo{1..3}{java,c,python}

foo1c/     foo1python/  foo2java/    foo3c/     foo3python/
foo1java/  foo2c/       foo2python/  foo3java/
Run Code Online (Sandbox Code Playgroud)

我只想将数字映射到语言:1to java2to c3topython等。

我该怎么做呢?

Dan*_*son 5

i=1; for j in java c python; do mkdir foo${i}${j}; i=$((i+1)); done
Run Code Online (Sandbox Code Playgroud)

给出目录

foo1java
foo2c
foo3python
Run Code Online (Sandbox Code Playgroud)

要添加更多语言,只需python用空格分隔的实体继续填充单词列表。整数计数器将保持不变。


添加: “Bashier”(但不是更好,所以我更喜欢上面的解决方案,因为它更便携(即使在这种情况下它可能无关紧要)):

list=(java c python); i=1; while [ $i -lt ${#list} ]; do mkdir foo${i}${list[i-1]}; let i++; done
Run Code Online (Sandbox Code Playgroud)

只需list像以前一样用更多条目填充数组。