August 2012
Intermediate to advanced
624 pages
17h 11m
Polish
Skrypt musi wykonać wiele operacji porównania wartości, co wymaga użycia wielu podobnych konstrukcji if-then-else. Czy nie ma łatwiejszego sposobu na rozwiązanie tego problemu?
Wielokrotne rozgałęzianie kodu doskonale opisuje instrukcja case:
case $FN in
*.gif) gif2png $FN
;;
*.png) pngOK $FN
;;
*.jpg) jpg2gif $FN
;;
*.tif | *.TIFF) tif2jpg $FN
;;
*) print "Format pliku %s nie jest obsługiwany" $FN
;;
esacOdpowiadająca powyższemu skryptowi konstrukcja if-then-else miałaby postać:
if [[ $FN == *.gif ]] then gif2png $FN elif [[ $FN == *.png ]] then pngOK $FN elif [[ $FN == *.jpg ]] then jpg2gif $FN elif [[ $FN == *.tif || $FN == *.TIFF ]] then tif2jpg $FN else printf "Format pliku %s nie jest obsługiwany" ...
Read now
Unlock full access