Что я хотел сделать
Я хотел создать подпапки и в некоторых новых подпапках. Их имена содержат только цифры 0 и 1.
Для этого я использовал вложенные циклы for.
Каким-то образом скрипт генерирует папки с 3,4,5,6,7,8,9.
Я не могу найти проблему или решение.
Что я уже сделал
Я уже реализовал эхо в каждом цикле, который показывает содержимое различных переменных, которое всегда было 0 или 1.
Также я поместил оператор if, в котором переменная возвращается к 0 после завершения цикла. Так как echo показывает правильное содержимое, в выражении if не было необходимости.
DIR=/home/$USER/testdaten
mkdir /home/$USER/testdaten
for a in {0..1}; do
mkdir $DIR/$( printf %01d $a)
echo $DIR/$( printf %01d "$a")
echo $a $b $c $d
for b in {0..1}; do
mkdir $DIR/$a/$( printf %02d $a$b)
echo $DIR/$a/$( printf %02d $a$b)
echo $a $b $c $d
for c in {0..1}; do
mkdir $DIR/$a/$a$b/$( printf %03d $a$b$c)
echo $DIR/$a/$a$b/$( printf %03d $a$b$c)
echo $a $b $c $d
for d in {0..1}; do
mkdir $DIR/$a/$a$b/$a$b$c/$( printf %04d $a$b$c$d)
echo $DIR/$a/$a$b/$a$b$c/$( printf %04d $a$b$c$d)
echo $a $b $c $d
done
done
done
done
alternative:
for ((a=0; a<=1; a++)); do
mkdir $DIR/$( printf %01d "$a")
for ((b=0; b<=1; b++)); do
mkdir $DIR/$a/$( printf %02d "$a$b")
for ((c=0; c<=1; c++)); do
mkdir $DIR/$a/$a$b/$( printf %03d "$a$b$c")
for ((e=0; e<=1; e++)); do
mkdir $DIR/$a/$a$b/$a$b$c/$( printf %04d "$a$b$c$e")
done
done
done
done
/home/$USER/testdaten/0
0
/home/$USER/testdaten/0/00
0 0
/home/$USER/testdaten/0/00/000
0 0 0
/home/$USER/testdaten/0/00/000/0000
0 0 0 0
/home/$USER/testdaten/0/00/000/0001
0 0 0 1
/home/$USER/testdaten/0/00/001
0 0 1 1
/home/$USER/testdaten/0/00/001/0008
0 0 1 0
/home/$USER/testdaten/0/00/001/0009
0 0 1 1
/home/$USER/testdaten/0/01
0 1 1 1
/home/$USER/testdaten/0/01/008
0 1 0 1
mkdir: das Verzeichnis »/home/$USER/testdaten/0/01/010/0064“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
/home/$USER/testdaten/0/01/010/0064
0 1 0 0
mkdir: das Verzeichnis »/home/$USER/testdaten/0/01/010/0065“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
/home/$USER/testdaten/0/01/010/0065
0 1 0 1
/home/e$USER/testdaten/0/01/009
0 1 1 1
mkdir: das Verzeichnis »/home/$USER/testdaten/0/01/011/0072“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
/home/$USER/testdaten/0/01/011/0072
0 1 1 0
mkdir: das Verzeichnis »/home/$USER/testdaten/0/01/011/0073“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
/home/$USER/testdaten/0/01/011/0073
0 1 1 1
/home/$USER/testdaten/1
1 1 1 1
/home/$USER/testdaten/1/10
1 0 1 1
/home/$USER/testdaten/1/10/100
1 0 0 1
/home/$USER/testdaten/1/10/100/1000
1 0 0 0
/home/$USER/testdaten/1/10/100/1001
1 0 0 1
Ошибка говорит, что не может создать каталог: файл или каталог не найден