Case-тің көптеген салаларына жіктелуі. Case командасы ар- гументінің мәніне байланысты көптеген сала бойынша жіктеледі.
case in
s1) ;; s2) ;; sn) ;;
*)
esac
Бұл жерде list1, list2, listn – командалар тізімі. String шабло- ны s1, s2 ... sk ... sn шаблондарымен салыстырылады. Сәйкестік жағдайында осы уақыттағы sk шаблоны мен сейкес белгілер арасындағы командалар тізбегі орындалады;;. Мысал:
echo -n 'Please, write down your age'
read age
253
case $age in
test $age -le 20) echo 'you are so young' ;; test $age -le 40) echo 'you are still young' ;; test $age -le 70) echo 'you are too young' ;;
*)echo 'Please, write down once more' esac
Текст соңында * санды дұрыс енгізбеу жағдайында қойылады.
Жұмысты орындау реті
Келесідей іс-әрекеттерді біріктіретін shell-программаларды құрастырып, орындаңыз:
- Командалық жол параметрлерінің тізімін әр параметрдің
нөмірін көрсете отырып, экранға шығару,
- А, В, С айнымалыларына 10, 100, 200 мәндерін беру, нә- тижені D=(A*2 + B/3)*C формуласымен есептеп шығару және шешу.
- Үй каталогындағы файлдары бар файлдарын қалыптасты- ру, экранға бұл тізімді алфавит ретімен шығару.
- Басқа каталогқа ауысу, каталог листингі бар файлды қа- лыптастыру және қолданылып отырған каталогқа қайтып
келу.
- Пайдаланушының атын сұрау және енгізу, пайдаланушы- ның қазіргі логикалық атымен салыстыру және хаттың нә- тижесін көрсету: дұрыс/дұрыс емес.
- Қолданылып отырған каталогтағы файлдың атын сұрау
және енгізу және де файл типі жайлы хаттың нәтижесін көру.
- Жүйелік уақытты циклдік оқу және қазіргі уақытта экран-
ды тазарту.
- Файлдар тізімін циклдік қарап шығу және тізімде берілген атаудың шығу барысында хатты шығару.
Бақылау сұрақтары:
- Shell-файлдардың міндеті қандай?
- Shell-файлдарды қалай жасау керек?
- Shell-файлдарда айнымалылардың қандай типтері қолданылады?
- Символдар тізбегі анализінің негізі неде?
- Shell-файлдарда қандай кірістірілген командалары қолданылады?
254
- Программаларды басқару қалай жүзеге асады?
- Циклдерді жасау операторларын атаңыз.
Достарыңызбен бөлісу: |