109
декомпозиция қағидасының негізгі ережелерін пайдаланудың
қарапайым мысалы. Кез-келген күрделі тапсырмалардың әрқайсысы
өзінің спецификалық тапсырмасы орындалатын бірнеше тізбектей
жасалатын деңгейлерге бөлінуі мүмкін. Бұндай тәсілді пайдалану өте
тиімді, өйткені бір әрекет бірнеше тапсырмаларда қатар қолданыла
алады. Мысалы, екі тапсырманы алайық— біріншісі, тапсырмалардың
алынған нұсқасының тізімін қарап, оны алфавиттік қатармен
шығарады, екіншісі берілген тақырып бойынша нұсқа тізімін қарап
оны алфавиттік қатармен шығарады.
Тұтас бағдарлама ретінде орындалғандықтан бұл екі тапсырма бір-
бірінің функционалдығын қайталайды. Егер біз тек екі әрекетті
қолдансақ— мәтіндік файлды шығару ағынына шығару және кіретін
ағымдағы шығатын деректер ретінде дайындап саралау. Біз бөлек
командалардан декомпозицияланатын екі қарапайым тапсырманы ала
аламыз.
Ол кезде бірінші тапсырма келесідей түрленеді:
ls /check/students/vasya | sort
екіншісі —
ls /check/teacher/themel | sort
Бұл жерде ls командасы берілген каталогта файлдар тізімін
шығарады, ал sort команданы осы ағында іріктейді де, сұрыпталған
нәтижені қалыпты жағдайда шығару ағынына жібереді.
АЛМАСТЫРЫП ҚОЮ
5.7.1. Бағдарламаның қорытындысын
алмастырып қою
Тапсырманы жазған кезде қандай да бір бағдарлама енгізетін
ақпаратты сақтап қою қажеттілігі туындайды. Кейін тапсырманың
орындалу барысында осы деректерді салыстырмалы түрде оңай
қолдану үшін оларды тапсырма айнымалысында сақтауға болады. Ол
үшін $( ) және ' ' (кері жақша) қолдану керек. Тапсырма мәтінінің ішіне
кіргізілгеннен кейін олар тапсырма орындалу кезінде команда
шығаратын деректерге ауысады.
'команда'
жазбасының
пішінін
BASH
командалық
интерпретаторының барлық нұсқалары қолдайды. Мысалы,
var='ls /check'
|