Оқулық «Федералдық білім беруді дамыту институты»



Pdf көрінісі
бет104/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   100   101   102   103   104   105   106   107   ...   220
99
 
 
 
кезінде shift команданың әрекеті ескеріледі:
 
■ 
$*  —  бұл  айнымалыда  тапсырмаға  берілген  командалық  жолақтың 
барлық  параметрлері  сақталады.  Бұл  айнымалыда  барлық 
параметрлер бір жақшаға алынған, яғни $* = "$1 $2 $3
 
■ 
$@ — бұл айнымалыда тапсырмаға берілген командалық жолақтың 
барлық  параметрлері  сақталады.  Бұл  айнымалыда  әр  берілген 
параметр жеке-жеке жақшаға алынған, яғни  $@ = "$1" "$2" "$3" ...;
 
■ 
$0 — бұл айнымалыда орындалып жатқан тапсырманың файл атауы 
сақталады. Оның көмегімен файл атауына тәуелді емес тапсырманы 
рекурсивті  шақыруды  ұйымдастыруға  болады.  Басқаша  айтқанда, 
шақырту  әрқашан  сол  тапсырманы  оның  атауына  тәуелсіз 
рекурсивті шақырады.
 
exec $0
 
жүйелік  айнымалыларды пайдалану  мысалы ретінде  BASH  тілінде 
келесі тапсырманы келтіреміз:
 
#!/bin/bash
 
while [ "$1" != "" ] ; do
 
echo $@
 
shift
 
done
 
Айнымалыдағы  тапсырма  echo  команданың  көмегімен  оған 
берілген  барлық  параметрлерді  шығарады.  Әр  шығарған  сайын 
параметрлер  терезесі  shift  командасының  көмегімен  жылжиды. 
Тапсырманың  орындалуы  параметрлер  тізімі  таусылғанда  аяқталады, 
яғни shift команданың соңғы орындағаннан кейін бірінші параметр бос 
жолаққа  тең  болып  қалады  (Қолданылған  командалар  туралы 
толығырақ 2-қосымшадан қараңыз). 
Тапсырманы орындау нәтижесінде экранға келесі шығатын болады: 
 
$ ./test.sh 1 2 3 4 5
 
1  2 3 4 5
 
2  3 4 5
 
3  4 5
 
4  5
 
5
 
Әр  жаңа  айналым  итеративті  жүйелік  айнымалының  $@    мәні 
параметрлер  терезесінің  ағымдағы  орналасуына  сай  өзгеретінін  және 
қолжетімді  параметрлердің  жалпы  саны  біртіндеп  азаятынын  көруге 
болады. 
 




Достарыңызбен бөлісу:
1   ...   100   101   102   103   104   105   106   107   ...   220




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет