Witam,
Kilka dni temu zaczalem swoja przygode z bashem. Przegladam rozne skrypty i napotkalem pierwszy probem. Raczej nie bedzie to ostatni, ale moze zacznijmy od tego:
Skrypt ma kopiowac wszystkie pliki z /home/Iwan/Desktop/forum do /home/Iwan/Desktop/kopiaForum tylko w przypadku, gdy katalog kopiaForum isnieje, w przeciwnym wypadku ma pojawic sie komunikat.
Znalazlem do tego takie rozwiazanie. Dziala ono poprawnie, ale w przypadku braku katalogu kopiaForum jest on automatycznie tworzony, a nie takie mialo byc zadanie.
#!/bin/bash
if [ -d $1 ];
then cp -R /home/Iwan/Desktop/forum* /home/Iwan/Desktop/kopiaForum
else echo "katalog nie istnieje"
fi
Mozecie mi jeszcze podpowiedziec o oznacza ten warunek: [ -d $1 ] Z tego co wyczytalem to -d sprawdza czy jest katalogiem. Ale co tak naprawde kryje sie pod zmienna $1? czyzby sciezka: /home/Iwan/Desktop/forum ?
I jeszcze poki pamietam: po co jest ta * przy forum, skoro bez niej skrypt dziala poprawnie?
Probowalem to zrobic troche po swojemu:
#!/bin/bash
if [ -e /home/Iwan/Desktop/kopiaForum ];
then cp -R /home/Iwan/Desktop/forum* /home/Iwan/Desktop/kopiaForum
else echo "katalog nie istnieje"
fi
I to rozwiazanie w sumie dziala w przypadku braku katalogu, ale wtedy tworzony jest katalog kopiaForum i w nim katalog forum A raczej powinny byc juz bezposrednio pliki z katalogu forum.