Pytanie 1
Co wypisze skrypt bash?
plik="raport.TXT"
case "$plik" in
*.txt) echo "tekst" ;;
*.[Tt][Xx][Tt]) echo "tekst duzy" ;;
*.log|*.TXT) echo "log" ;;
*) echo "inny" ;;
esacDlaczego tak
Instrukcja case sprawdza wzorce po kolei i wykonuje tylko pierwszy pasujący. Wzorzec *.txt nie pasuje, bo porównanie rozróżnia wielkość liter, natomiast *.[Tt][Xx][Tt] dopuszcza w każdej pozycji małą lub wielką literę, więc wypisany zostanie „tekst duzy”. Wzorzec *.TXT w trzeciej gałęzi także pasuje, ale nie zostanie sprawdzony, bo dopasowanie już nastąpiło.