Водич за почетнике БАСХ - Улазни параметри

Добродошли у 2. део Водича за почетнике БАСХ серији која је јединствена по томе што је то једини туторијал БАСХ који је написао почетник за почетнике.

Читачи овог водича ће саградити своје знање док сам ја саградио своје знање и надам се да ћемо до краја тога моћи написати неке прилично паметне скрипте.

Прошле недеље сам покривао стварање првог сценарија који је једноставно показао ријечи "Хелло Ворлд". Он обухвата теме као што су уређивачи текста, како отворити прозор терминала, гдје се стављају ваше скрипте, како се прикажу ријечи "Хелло Ворлд" и неке финије тачке на знаковима за избјегавање као што су наводи ("").

Ове седмице ћу покрити улазне параметре. Постоје и други водичи који предају овакву врсту ствари, али сматрам да они скачу на неке прилично ниске ствари и можда пруже превише информација.

Шта је параметар?

У "Хелло Ворлд" скрипту из последњег туторијала било је све врло статично. Сценариста уопште није много учинио.

Како можемо побољшати сценарио "Хелло Ворлд"?

Шта је са сценаријом која поздрави особу која га води? Умјесто да кажете "Хелло Ворлд" ће рећи "Хелло Гари", "Хелло Тим" или "Хелло Долли".

Без могућности да прихватимо улазне параметре требали би написати три скрипте "хеллогари.сх", "хеллотим.сх" и "хеллодолли.сх".

Допуштајући нашем скрипту да прочита улазне параметре можемо да користимо једну скрипту да позовемо било кога.

Да бисте то урадили, отворите прозор терминала (ЦТРЛ + АЛТ + Т) и крените у своју скрипту фолдером тако што ћете унети следеће: ( о цд цомманд )

цд скрипте

Креирајте нови скрипт под називом греетме.сх тако што ћете унети следеће: ( о команди додиром )

тоуцх греетме.сх

Отворите скрипту у омиљеном едитору тако што ћете унети следеће: ( о нано команди )

нано греетме.сх

Унесите следећи текст у оквиру нано-а:

#! / бин / басх ецхо "хелло $ @"

Притисните ЦТРЛ и О да бисте сачували датотеку, а затим ЦТРЛ и Кс да затворите датотеку.

Да бисте покренули скрипту, унесите следеће у командну линију која замењује ваше име.

сх греетме.сх

Ако покренем сценарио са својим именом, приказује се ријечи "Хелло Гари".

Прва линија има линију #! / Бин / басх која се користи за идентификацију датотеке као басх скрипте.

Друга линија користи ецхо извод за поновну ријеч здраво, а онда је чудна $ @ нотација. ( о команди ецхо )

$ @ Се шири да би приказао сваки параметар који је унет заједно са именом скрипте. Дакле, ако сте унели "сх греетме.сх тим", биће приказане речи "хелло тим". Ако сте откуцали "греетме.сх тим смитх" онда би се приказале речи "хелло тим смитх".

Можда би било лепо да греетме.сх скрипта само поздрави користећи само име. Нико не говори "здраво Невелл" када ме упознају, можда би рекли "здраво Гари".

Хајде да променимо скрипту тако да само користи први параметар. Отворите греетме.сх скрипту у нано укуцавањем следећег:

нано греетме.сх

Промените скрипту тако да гласи на следећи начин:

#! / бин / басх ецхо "хелло $ 1"

Сачувајте скрипту притиском на ЦТРЛ и О, а затим изађите притиском на ЦТРЛ и Кс.

Покрените скрипту као што је приказано испод (замените моје име са својим):

сх греетме.сх гари невелл

Када покренете сценарио, једноставно ћете рећи "здраво Гари" (или надам се "здраво" и како год да се зовете.

1 по симболу $ у основи говори о команди ецхо, користите први параметар. Ако замените $ 1 са $ 2, онда ће се приказати "хелло невелл" (или шта год да је ваше презиме).

Успут, ако сте заменили $ 2 са $ 3 и извршили скрипту са само 2 параметра, излаз би једноставно био "Здраво".

Могуће је приказати и управљати бројем параметара који су уствари унети и у каснијим туторијалима показаћу како користити број параметара за потребе валидације.

Да бисте приказали број унетих параметара отворите греетме.сх скрипту (нано греетме.сх) и измените текст на следећи начин:

#! / бин / басх ецхо "унели сте $ # имена" ецхо "хелло $ @"

Притисните ЦТРЛ и О да бисте сачували скрипту и ЦТРЛ и Кс да изађете из нано-а.

$ # На 2. реду приказује број унетих параметара.

До сада је све ово било ново, али није било веома корисно. Коме је потребна скрипта која једноставно приказује "здраво"?

Права употреба за ехо изјаве је да кориснику обезбеди вербални и значајан излаз. Ако можете замислити да желите нешто компликовано, што подразумијева неколико озбиљних харинга и манипулације фајловима / фасциклама, било би корисно приказати кориснику шта се догађа на сваком кораку пута.

Насупрот томе, улазни параметри чине вашу скрипту интерактивном. Без улазних параметара вам треба десетине скрипти који раде врло сличне ствари, али са мало другачијим именима.

Имајући све ово на уму постоје још неки корисни улазни параметри за које је добра идеја знати и укључићу их све у један фрагмент кода.

Отворите своју греетме.сх скрипту и допуните је на следећи начин:

#! / бин / басх ецхо "Филенаме: $ 0" ецхо "ИД процеса: $$" ецхо "---------------------------- --- "ецхо" унели сте $ # имена "ецхо" хелло $ @ "

Притисните ЦТРЛ и О да бисте сачували датотеку и ЦТРЛ и Кс да изађете.

Сада покрените скрипту (замените са својим именом).

сх греетме.сх

Овај пут сценарио приказује следеће:

Филенаме: греетме.сх ИД процеса: 18595 ------------------------------ унели сте 2 имена хелло гари невелл

$ 0 на првој линији скрипте приказује име скрипте који покрећете. Имајте на уму да је нула долара а не долар о.

На $$ на другој линији се приказује процесни ИД скрипте коју покрећете. Зашто је ово корисно? Ако покренете скрипту у првом плану можете га отказати једноставним притиском на ЦТРЛ и Ц. Ако сте покренули скрипту у позадини и почели су да се куцају и раде исте ствари изнова и изнова или почињу да изазивају оштећење вашег система који би вам требао да га убијеш.

Да бисте убили скрипту која се покреће у позадини, треба вам ид процеса скрипте. Зар не би било добро ако је сценарио дала процес ид као дио свог излаза. ( о ПС и убити команде )

Коначно пре него што завршим са овом темом желим да расправљам о томе гдје се налази излаз. Сваки пут када се сценарио покреће, екран је приказан на екрану.

Веома је уобичајено да се излаз скрипта упише у излазну датотеку. Да бисте то урадили, покрените своју скрипту на следећи начин:

сх греетме.сх гари> греетме.лог

Симбол> у горњој команди излази текст "хелло гари" у датотеку названу греетме.лог.

Сваки пут када покренете скрипту са симболом> преписује садржај излазне датотеке. Ако желите да додате датотеку замијените> са >>.

Резиме

Сада бисте требали да пишете текст на екран и прихватите улазне параметре.