Различити примери подљуске
Различити начини извршавања скрипте у подљусци су приказани у овом делу упутства.
Пример 1: Извршите подљуску користећи једноструки и двоструки наводник
Направите Басх датотеку са следећом скриптом која штампа тренутни датум и време. Затим, променљива $стрВал се штампа затварањем скрипте подљуске унутар једноструких и двоструких наводника.
#!/бин/басх
#Одштампајте команду `датум` у подљусци
одјек 'Данас је `датум` '
#Дефинишите стринг променљиву
стрВал = „Басх подљуска“
#Одштампајте променљиву у подљусци користећи једноструке наводнике
одјек „Излаз појединачних наводника:“ '$(ецхо $стрВал)'
#Одштампајте променљиву у подљусци користећи двоструке наводнике
одјек „Излаз двоструких наводника:“ ' $(ецхо $стрВал) '
Следећи излаз се појављује након извршавања скрипте. Скрипта подљуске се штампа као стринг када је затворена једноструким наводницима. Скрипта подљуске се извршава када је затворена двоструким наводницима:
Пример 2: Претражите све датотеке одређене екстензије користећи подљуску
Направите Басх датотеку са следећом скриптом која узима екстензију датотеке као унос од корисника. Затим, команда „лс“ се извршава у подљусци да би се претражиле све датотеке тог типа екстензије.
#!/бин/басх
одјек -н „Унесите назив екстензије датотеке:“
#Узмите назив екстензије датотеке која ће се претраживати
читати ект
#Проверите улазну вредност
ако [ [ $ект == '' ] ] ; онда
#Одштампај поруку о грешци
одјек 'Не даје се продужење.'
друго
одјек „Имена датотека са $ект проширење:'
#Одштампајте сва имена датотека са датом екстензијом
одјек ' $( ецхо `лс *.$ект`) '
бити
Следећи излаз се појављује након извршавања скрипте са „ткт“ улазом. Према излазу, на тренутној локацији постоје три текстуалне датотеке:
Следећи излаз се појављује након извршавања скрипте са празном вредношћу:
Пример 3: Извршите аритметички израз у подљусци
Направите Басх датотеку са следећом скриптом где се променљива истог имена користи у главној и подљусци. Аритметичка операција је дефинисана у главној и подљусци.
#!/бин/басх#Дефинишите променљиву надређене љуске
број = 10
#Одштампајте резултат на основу променљиве родитељске љуске
( ( резултат = $број + 5 ) )
одјек 'Збир $број +5= $ресулт '
#Креирајте променљиву подљуске са истим именом родитељске љуске
( број = двадесет ; ( ( резултат = $број + 10 ) ) ; одјек 'Збир $број +5= $ресулт ' )
#Поново одштампајте резултат на основу променљиве родитељске љуске
одјек 'Збир $број +5= $ресулт '
Следећи излаз се појављује након извршавања скрипте. Први и последњи излаз показују резултат главне љуске. Други излаз показује резултат подљуске. Променљива главне љуске није модификована променљивом подљуске:
Пример 4: Извршите више команди у подљусци
Креирајте Басх датотеку са следећом скриптом која шаље излаз команде „ецхо“ у команду „сед“ која замењује одговарајућу вредност низа другим низом. Излаз команде „ецхо“ је „ЈаваСцрипт“. Дакле, ова вредност се пореди са „Јава“ и „ЈаваСцрипт“. Ако се пронађе подударање, одговарајући низови се замењују низом „Типе“.
#!/бин/басх#Дефинишите вредност стринга
стрВал = 'ЈаваСцрипт'
#Одштампајте оригиналну вредност стринга
одјек „Вредност низа: $стрВал '
#Одштампајте вредност подљуске
одјек -н 'Вредност подљуске: '
одјек ' $(ецхо $стрВал | сед 'с|Јава|ЈаваСцрипт Типе|') '
Следећи излаз се појављује након извршавања скрипте. Према излазу, стринг „Јава“ је замењен низом „Типе“. Излаз подљуске је „ЈаваСцрипт ТипеСцрипт“:
Закључак
Једна или више команди или скрипти се могу извршити помоћу подљуске без утицаја на главну љуску. Сврха коришћења подљуске је објашњена у овом водичу користећи више примера. Различите врсте задатака као што су претраживање фајлова, израчунавање збира бројева, замена стрингова итд. у датим примерима ради подљуска. Концепт коришћења подљуске је исправно демонстриран и нови Басх корисници ће сада моћи да користе подљуску након читања овог упутства.