Bash - tworzenie wybranej ilo

Potrzebujesz pomocy z C, C++, perl, python, itp.
chocolate
Posty: 2
Rejestracja: 20 maja 2015, 19:48

Bash - tworzenie wybranej ilości folderów

Post autor: chocolate »

Mam taki kod

Kod: Zaznacz cały

echo "Ile chcesz folderow?"
 read d
 if [ $d -gt 0 ];

 then
 echo "Podaj nazwe $d folderow"
 read x
 else
 echo "Wpisano 0 i nie mozna stworzyc"
 fi
 for c in $x
 do
 echo "Stworzyles folder o nazwie $c"
 mkdir $c
 done
No i problem mam taki,że gdy wpiszę więcej nazw tworzących folderów niż w $d to i tak się utworzą. Chce uzyskać efekt,żeby wyskakiwał jakiś błąd/informacja że za mało/dużo nazw folderów.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Bo masz złe założenia w pętli for, robisz po $x a nie $d.
Sprawdź ile jest słów w x i porównaj z d.

P.S. foldery są w Windowsie, tu są katalogi.
chocolate
Posty: 2
Rejestracja: 20 maja 2015, 19:48

Post autor: chocolate »

w sensie po read x mam tworzyć? Jakie powinny być założenia? Co do porównania to powinno to wyglądać mniej więcej tak?

Kod: Zaznacz cały

par = "wc -w $x " 
..

 for c in $x  do
 if [ $par = $d ]
 then
 echo " Utworzono $c "
 mkdir %c
 else
  .... 

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Mam dla Ciebie propozycję, rozpisz sobie to co chcesz zrobić linia po linii zwykłym tekstem po jednym zadaniu na linię a potem zmień to w skrypt.
przykład:

Kod: Zaznacz cały

...
Zapytaj o nazwę katalogów
stwórz n katalogów o nazwie wpisanej i przyrostku n
...
===>

Kod: Zaznacz cały

...
read nazwa
for i in {1..$n}
do
    mkdir $nazwa-$i
done
...
ODPOWIEDZ