Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-12-09 17:16:47

  TuX - Użytkownik

TuX
Użytkownik
Zarejestrowany: 2007-01-18

If w if

Witam, mógł by ktoś dać mi przykład stosowania funkcji if w funkcji if? :D

Chodzi mi o coś w stylu:

Jeżeli katalog X istnieje to sprawdź czy istnieje w nim plik Y jeżeli istnieje w katalogu X plik Y sprawdź czy jest do zapisu.

Jeżeli katalog X nie istnieje wypisz że nie istnieje i skończ działanie skryptu.

Jeżeli test się udał ( katalog X istnieje ) to sprawdź czy jest w nim plik Y, jeżeli nie wypisz że go nie ma i zakończ działanie skryptu..

Tak samo z sprawdzaniem do zapisu.

Próbuje się uczyć basha, robie sobie skrypt backup i "coś" mi nie idzie :)

Pozdrawiam!

Offline

 

#2  2007-12-09 21:16:20

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: If w if

W programie matematyki dla klasy pierwszej szkoły średniej byl kiedyś wstęp do rachunku predykatów pierwszego rzędu (czytaj logika). Przedstawiłeś koniunkcje dwóch warunków + coś jeszcze a całość sprowadza się do

Kod:

 if [ -w X/Y ] ; then
    same commands
 elif 
    echo "file doesn't exist or doesn/t be writeble "
fi

P.S. Basha tak dawno nie używałem, że w szczegółach moge się mylić. Wszystko jest w manie do basha.

Offline

 

#3  2007-12-09 23:57:21

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: If w if

@Lorenzo ... w ten sposob nie odrozniasz przypadku nieistnienia katalogu od nieistnienia pliku, a niekiedy moze to byc potrzebne ... poaztym zgoda ze mozna to tak uproscic (kozystne jezeli chodzi o wydajnosc) ... i nie elif tylko else

zagniezdzone ify:

Kod:

if [ -d X ]; then
  if [ -f X ]; then
    echo "jest plik"
  else
    echo "nie ma pliku ale jest katalog"
  fi
else
  echo "nie ma katalogu"
fi

o warunkach (-d, -f) poczytaj man test


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#4  2007-12-10 20:24:13

  TuX - Użytkownik

TuX
Użytkownik
Zarejestrowany: 2007-01-18

Re: If w if

Ok, dzięki - działa.

Ostatnio edytowany przez TuX (2007-12-15 15:35:33)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)