Strona 1 z 1

Bash - tworzenie wybranej ilości folderów

: 20 maja 2015, 19:51
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.

: 21 maja 2015, 09:19
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.

: 25 maja 2015, 20:27
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
  .... 


: 26 maja 2015, 09:38
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
...