Проблема с Bash-скриптом, создающим каталоги из массивов

В то время как цикл выполняется в подоболочке, поэтому любые изменения, сделанные в переменной в подоболочке, не сообщаются в оболочке отца : https://stackoverflow.com/questions/16854280/modifying-variable-inside-while-loop-is-not-remembered

Для второго вопроса на моей стороне у меня есть :

$ while true; do toto=plop; echo $toto; [[ $toto ]] && break ; done 
plop

Так что я думаю, что у вас есть реальная проблема с определением $win_id внутри цикла.

2
26.02.2018, 22:42
1 ответ

Podría usar un bucle de matriz anidado, como este

#!/bin/bash
array_0=(one two three four five)
array_1=(x y z)

for a0 in "${array_0[@]}"
do
   for a1 in "${array_1[@]}"
   do
       mkdir -p "$HOME/web/$a0/$a1"
   done
done

O, si no le importa evitar el uso de matrices y usar listas de expansión en su lugar, este único comando hará lo mismo:

mkdir -p ~/{one,two,three,four,five}/{x,y,z}
2
27.01.2020, 22:09

Теги

Похожие вопросы