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



Pdf көрінісі
бет71/158
Дата01.07.2023
өлшемі3.83 Mb.
#475485
түріОқулық
1   ...   67   68   69   70   71   72   73   74   ...   158
операциялық жуйелер

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
Әр жаңа айналым итеративті жүйелік айнымалының $@ мәні 
параметрлер терезесінің ағымдағы орналасуына сай өзгеретінін және 
қолжетімді параметрлердің жалпы саны біртіндеп азаятынын көруге 
болады. 


100
 
5.4.3. Тапсырма айнымалыларын ортаға 
көшіру 
 
Тапсырманы орындау барысында «=» операциясы көмегімен мәндер 
меншіктелген айнымалылар тек тапсырма ішінде және тек 
тапсырманың орындалу кезінде қолжетімді. Осындай айнымалылар 
жергілікті тапсырманың орындалуында сыртқы ортадан оқшауланған 
болып қарастырыла алады. 
Кейбір тапсырмалармен инициализацияланған айнымалыларды дәл 
сол командалық интерпретатор ортасында орындалатын басқа 
тапсырмаларға қолжетімді ету үшін айнымалыларды ағымдағы 
тапсырманың ортасына көшіру командасын қолдануға болады. 
Тапсырма ортасына айнымалыларды көшіру export командаcымен 
жүргізіледі. Оны шақыртудың екі түрі бар: 
1) export <айнымалы аты> — инициализацияланған айнымалыны 
тапсырма орындалу ортасына көшіреді;
2) export < айнымалы аты > = <мән> — айнымалыға мән 
меншіктейді және айнымалылар ортасының алаңына көшіреді.
Тапсырманы орындау ортасында жарияланған айнымалылардың 
жиынтығы әдетте осы тапсырманың айнымалылар ортасының жинағы 
деп аталады. Барлық жарияланған айнымалыларды қарау үшін set 
командасы қызмет етеді:
$ set
PATH=/bin:/sbin:/usr/sbin
PWD=/home/nick
TTY=/dev/tty6
Командалық интерпретатордың жаңа көшірмесін жіберуде 
(мысалы, орындалатын bash файлын шақыру көмегі арқылы ) 
анықталған барлық айнымалылар ортасы қалады. Сонымен қатар, 
командалық интерпретатор дәл сол айнымалылардың жаңа көшірмесін 
алады. Командалық интерпретатор ортасындағы айнымалы мәндерінің 
өзгеруі тек өзінің орындалу ортасына әсер етеді, бірақ шақырып 
отырған 
командалық 
интерпретатордың 
орындалу 
ортасын 
өзгертпейді. 
Осылайша, пайдаланушымен келесі диалогта А мәнімен айнымалы 
ортасы анықталады, одан кейін командалық интерпретатордың жаңа 
көшірмесі іске қосылады, онда айнымалының мәні MYVAR иеленеді
содан соң қайта анықталады. Жаңа командалық интерпретаторды 
аяқтағаннан кейін және алдыңғы мәнге қайта келгесін MYVAR 
айнымалысы қайта қалпына келеді. Келесі мысалда пайдаланушымен 




Достарыңызбен бөлісу:
1   ...   67   68   69   70   71   72   73   74   ...   158




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

    Басты бет