Схелл Сцриптинг у Линуку - Рачунари уопште разумеју језик 0 и 1 који је познат као бинарни језик. Пре више деценија људи су писали програме и апликације попут калкулатора на бинарним језицима. Али то није било лепо. Само замисли! Ако желите да израчунате 73 + 96, како бисте написали? Морате радије израчунати бинарни цели број за 73 и 96 и затим их додати. Особа мора бити прилично глупа да то уради. Радије би израчунали 73 и 96 на папиру и наставили даље. Али то је за мањи део. Шта ако морате израчунати нешто налик (19273/23 * (2967 3)). Сада бих рекао да је ово прилично интензивно.
Дакле, нестварни човек који учи да кодира све на бинарном језику нема смисла. То је главни разлог зашто рачунари нису били популарни 70-их и 80-их. Али касније, пре него што је Виндовс развијен, људи су почели да развијају језгре и сличне ствари које су биле основни део оперативног система. Језгра која се користи за разумевање људског читљивог формата одређеног програма, а затим га претварање у машински код. Ту су се појавили програмски језици и променили целу еру рачунарског света. Апликације су уграђене у Ц и Ц ++, а касније и Јава, Питхон, Руби и Перл.
До сада постоји више од 50 програмских језика. И то је најмање оних које ја знам. А камоли чињеница да постоје и други програмски језици које је још теже разумети него машински код. Моја поента је, примери као што су пилеће програмирање и Малболге. Они су неке озбиљне гадне ствари са којима се треба бавити.
Схелл програмирање… .еррр… Скрипта?
Сада се можда питате зашто нисам горе споменуо Схелл програмирање заједно са осталим програмским језицима. Главни разлог што сам Схелл није програмски језик. То је скриптни језик. Схелл је само интерактивни програм за крајњег корисника који интерпретира било који унос од корисника и даје резултат под условом да је наредба валидна. Затим програм просљеђује у кернел да га изврши. Схелл није део Кернел-а, али уместо тога користи кернел да ради свој посао извршења и креирања датотека.
Врсте програма скриптирања шкољака
Сада, за разлику од Ц, Ц ++ или Јава, постоји неколико других врста шкољки које се могу користити за Схелл Сцриптинг. Следе четири врсте љуске које су до данас доступне:
Не. | Схелл Типе | Опис |
1. | Басх ака Боурне Агаин Схелл | Ово је најчешћа шкољка доступна на свим Линук и дебиан системима. То је опен соурце и бесплатни програм. |
2 | ЦСХ или Ц Схелл | Овај Схелл скриптни програм користи синтаксу љуске Ц програмирања и готово је сличан Ц. |
3. | КСХ или Корн Схелл | Корн је Уников програмски програм за скрипте Схелл, у почетку заснован на Басх Схелл Сцриптинг. Ова љуска је прилично напредна и програмски језик високог нивоа. |
4. | ТЦСХ | Не постоји специфичан пуни облик ТЦСХ. Тако је и јесте. ТЦСХ је напредна верзија шкољке Беркелеи Уник Ц. Опет подржава синтаксу у стилу Ц |
Што се тиче данас, овде нас не занимају све горе наведене шкољке. Занима нас само шкољка Басх, јер је то данас најчешће коришћена шкољка у свету.
Тхе Басх Схелл
Програм скрипања Басх Схелл је скриптни језик високог нивоа, сличан језику питхон-а. Али ако сте претходно имали искуства са Питхон-ом, онда ћете заправо установити да је Басх Схелл Сцриптинг далеко једноставнији од било којег другог скриптног језика. Може се писати скрипте у басх много брже него на Ц, Ц ++, Јава или Питхон. Подразумевани терминал у данашњем већини Линук окружења, рецимо на пример: - Убунту, Линук Минт Циннамон / Рафаела, Федора, Арцх Линук или било које друго дебијско окружење састоји се од Басх-а као заданог Схелл-а. Међутим, можете проверити сва окружења шкољки присутна у вашем систему тако што ћете у заданом Терминалу уписати следеће:
$ цат / етц / шкољке |
(Напомена: Знак долара на почетку се користи за идентификацију терминала.)
Синтакса 'цат' која се користи за читање текстуалних датотека. Врсте програма скриптирања љуске у Линук, Уник или Дебиан окружењу су смештене у датотеци љуске унутар директорија итд . Свака љуска има свој јединствени скуп синтакса и сопствени скуп уграђених функција. ДОС или прозори такође имају своју љуску која је позната под називом злогласна „наредбена линија“ или „моћна шкољка“ од прозора 8.1 па надаље, али још увек није тако моћна као басх. Мачка синтакса ће вам дати листу шкољки доступних у систему, међутим да бисте пронашли задану шкољку или проверили тренутну помоћу љуске, у терминалу скрипта за Схелл скривање можете користити следећу синтаксу: -
$ ецхо $ СХЕЛЛ |
Синтакса 'ехо' користи се за испис било које изјаве. Овде је 'СХЕЛЛ' променљива додељена за штампање тренутне љуске. Знак долара након 'одјека' користи се за представљање варијабле у Схелл Сцриптингу.
Препоручени курсеви
- Курс за сертификацију у хибернацији Јава
- Јава Пролећни курс
- ВордПресс Онлине обука
- Руби Траининг
Схелл Сцриптинг
Дакле, сада знате шта је шкољка, погледајмо Схелл Сцриптинг и зашто је тако познат. Схелл Сцриптинг није ништа друго него низ наредби у једноставној текстуалној датотеци која се завршава екстензијом „.сх“. '.Сх' одређује да се ради о извршној датотеци шкољке. Након писања скрипте схелл-а, требало би да промените извршну дозволу користећи 'цхмод функцију'. По дефаулту, било која новостворена љуска није извршива у УНИКС-у или Линук окружењу осим ако се дозволе посебно не измене. Схелл Сцриптинг је готово сличан ономе у Батцх програмирању из Виндовса, али разлика је у томе што је Схелл Сцриптинг прилично моћнији и пружа много више врхунског интерактивног окружења, заједно са завршетцима картица. За писање скрипте шкољке потребно је користити добар уређивач текста. Неколико бољих оних које знам су Вим, Гедит и Леафпад.
За разлику од других програмских језика, скрипте Схелл-а брже се пишу и извршавају. Не морате да преузимате никакве одређене пакете или зависности које бисте извршили. Може их користити не само системски администратор, већ и обична особа за свакодневно извршавање аутоматизованих скрипти. Следи једноставан пример скрипте написане овде.
#! / бин / басх ецхо -е „Добродошли у први програм шкољке. \ н“ ецхо -е „Овде напишите нешто и овај ће програм поново исписати исто. \ н“ # пекујући корисника да унесе читање уноса # читање уноса од корисника одјекује „Ви унесено: $ инпут ” излаз 0 |
Дозволите ми да објасним све параметре у горњем коду. Пре свега, напишите горњи код у текстуалну датотеку у формату "какав јесте" и сачувајте га с наставком који завршава с ".сх". На пример, име датотеке поставите као 'маин_програм.сх'. Уверите се да није „маин_програм.сх.ткт“. Већина почетника има тенденцију да то уради и тада то није извршљиво. Након што се копира горњи код, промените његове дозволе користећи следећу синтаксу у терминалу: -
$ цхмод + к маин_програм.сх ИЛИ $ цхмод 755 маин_програм.сх |
Слободно користите било коју од горе наведених команди, јер обје раде исто. У модерним програмима за скриптирање басх шкољки, '755' се мења у '+ к'; тако да није важно који заправо користите. Након што промените дозволе, упишите следеће да бисте их извршили.
$. / маин_програм.сх |
Период и коса црта се користе за идентификацију и извршавање скрипти љуске. Једном када извршите горњу скрипту, она ће исписати прву изјаву о ехо-у, а затим ће тражити да унесете нешто. Једном када га унесете, исписат ће вам исту ствар и изаћи из преводиоца. Дозволите ми да објасним све горе наведене синтаксе. '#! / Бин / басх' се користи да би се преводиоцу саопштило да је ово басх скрипта и да се Басх схелл скриптни програм налази у 'бин' директоријуму. Наредба 'ецхо' користи се за испис било које изјаве, а заставица '-е' се користи да означи љуску да ће бити или нова линија идентификована као 'коса црта н или \ н' или црта табулатора т или \ т 'или слично као унутар одјека изјаве. Хасх део у другом реду користи се за идентификацију коментара у басх скрипти. Што год напишете након хасх-а, биће коментирано и неће се извршити. Али то се не односи на '#! / Бин / басх' у првом реду. Овако треба да делује скрипта. Синтакса 'читање' користи се за читање било којег уноса од корисника. А 'улаз' који сам споменуо након синтаксе 'читање' је променљива у коју се чува улаз од корисника. Уместо улаза, може се користити било која варијабла. У другом задњем реду, унос $ користи се за идентификацију као варијаблу и излаз спремљеног улаза унутар ње. Коначно наредба излаза користи се за излаз из тумача с чистом нулом излаза.
Неинтерактивно скриптирање
Сада је горњи пример прилично једноставан. Али постоје уграђени модули које можете користити уместо да све уносе дате сами. Слиједи дио кода који исписује корисничко име које је тренутно пријављено, тренутно вријеме, датум календара и број пријава: -
#! / бин / басх # Ова скрипта ће исписати тренутно пријављене податке о кориснику, број пријављених корисника, датум, време и календар ехо „Здраво, УС УСЕР“ ехо „Данашњи датум и време је„ датум “ ехо„ Број корисника пријављених: `ко | вц -л` ”
одјек „Календар“ цал излаз 0 |
Извршите ову скрипту након промене дозвола горње датотеке. Сада се можда питате да смо у претходној скрипти уствари унели улаз, а затим је вратили улаз користећи тх променљиву. Али овде, нисмо дали никакав унос унутар променљиве „$ УСЕР“, па како онда штампа тачног корисника. Главни разлог су те ствари већ конфигурисане у систему. Сећате се да сам вам рекао о $ СХЕЛЛ раније на почетку, како је то дефинисано према заданим поставкама? Да, сличан је случај са УС УСЕР овде. Што се тиче датума, ако само укуцате 'датум' без наводника на терминалу, исписат ће вам тачан датум и време. Једноставно сам користио један цитат (`) да се идентифицирам као синтакса, а не као део одјека. Поједини цитат (`) извршиће сваку синтаксу одштампану унутар ње, било у изјави или било где друго. Што се тиче броја корисника, наредба 'ко' користи се за проверу тренутних корисника који су пријављени заједно са пријављеним процесима и датумом и временом када је покренута. Али што се тиче горње команде, заправо сам је скратио да бих само издао број корисника који су је забележили користећи наредбу 'вц -л'. Трака (|) или оно што је у народу познато као цев користи се за комбиновање две команде. Цев заправо стоји много више од тога, али овде нећу улазити у пуно детаља. И на крају сам исписао календар користећи уграђену наредбу 'цал' за штампање тренутног датума у календару.
Тхе Екит Зеро
Излазна нула је нешто што нисам објаснио ни у једном од горе написаних програма. Главни разлог што је 'Екит Зеро' има много већу тежину од било које од горе наведених синтакса у Схелл Сцриптингу. Према заданим поставкама, кад год извршите скрипту у дистрибуцији Линук или Уник, она враћа две врсте вредности или тачније статус излаза да провери да ли је извршавање скрипте шкољке успешно или не. Ако врати вредност као Нула, тада је извршење било успешно, иначе се није извршило или је дошло до грешке током извршења. Дакле, куцањем на 'екит 0' на крају било које скрипте провјерава се стање извршења скрипте.
Све ствари које сам овде описао су само најмањи основни део скрипта Схелл-а у дистрибуцији Линук. Излазни нулти део и цев играју важну улогу када извршавате вишеструко скриптирање љуске у Линук командама и користите их заједно са условним изјавама иф и елсе.
Повезани чланци:-
Ево неколико чланака који ће вам помоћи да сазнате више детаља о типовима скрипти шкољке за Линук новорођенче, зато само прођите кроз линк.
- Интервјуска питања о скрипту за Схелл | Топ 10 корисних питања
- Линук вс Виндовс - Пронађите 9 најневероватнијих разлика
- Линук Интервју Питања и одговори | Корисно и највише питани
- Каријере у Линук администрацији
- Правила и прописи параметара скрипта љуске