Komencantoj Gvidilo Al BASH - Parto 1 - Saluton Mondo

Ekzistas multaj gvidiloj en interreto montrante kiel krei Shell-skriptoj uzante BASH kaj ĉi tiu gvidilo celas doni iomete malsaman spinon ĉar ĝi estas skribita de iu, kiu havas tre malmulte da ŝelo-scripte sperto.

Nun vi eble pensas, ke ĉi tio estas stulta ideo, sed mi trovas, ke iuj gvidantoj parolas al vi kvazaŭ vi jam estas sperta kaj aliaj gvidantoj tre longe forprenos la persekutadon.

Dum mia sperto de skribado de LINUX / UNIX-ŝelo estas limigita, mi estas programisto pri komercado kaj mi estas mano en skriblingvoj kiel PERL, PHP kaj VBScript.

La punkto de ĉi tiu gvidilo estas, ke vi lernos, kiel mi lernas, kaj iujn informojn, kiujn mi reprenas, mi transdonos al vi.

Komencante

Estas evidente multaj teorio, kiujn mi povus antaŭeniri al vi tuj kiel priskribi la malsamajn tipojn de ŝelo kaj la avantaĝojn uzi BASH super KSH kaj CSH.

Plej multaj homoj, kiuj lernas ion novan, volas salti kaj komenci kun kelkaj praktikaj lecionoj unue kaj kun tio, ke mi ne portos vin per triviaĵoj, kiuj ne gravas nun.

Ĉio, kion vi bezonas por sekvi ĉi tiun gvidilon, estas redaktilo de teksto kaj fina stacio BASH (la defaŭlta ŝelo en plej multaj Linuksaj distribuoj).

Redaktantoj de tekstoj

Aliaj gvidiloj, kiujn mi legis, sugestis, ke vi bezonas tekst-redaktilon, kiu inkluzivas kolorkodadon de komandoj kaj la rekomenditaj redaktantoj estas VIMEMACS .

Kolora kodigo estas bela ĉar ĝi montras komandojn, kiel vi tajpas ilin, sed por la absoluta komencanto vi povus pasigi la unuajn semajnojn lernante VIM kaj EMACS sen skribi solan linion de kodo.

El la du mi preferas EMACS, sed esti sincere mi preferas uzi simplan redaktilon kiel nano , gedit aŭ leafpad.

Se vi skribas skriptoj en via propra komputilo kaj vi scias, ke vi ĉiam havos aliron al grafika medio, tiam vi povas elekti la redaktilon, kiu funkcias plej bone por vi kaj ĝi povas esti aŭ grafika kiel GEdit aŭ redaktilo, kiu regas en la fina stacio. tiaj kiel nano aŭ vim.

Por la celo de ĉi tiu gvidilo mi uzos nanon, ĉar ĝi estas instalita denaske en la plimulto de Linuksaj distribuoj kaj tial ĝi verŝajne povos havi aliron al ĝi.

Malferma Fina stacio

Se vi uzas Linukson-distribuon kun grafika labortablo kiel Linux Mint aŭ Ubuntu, vi povas malfermi fina stacion per premado de CTRL + ALT + T.

Kie Meti Viajn Skriptojn

Por la celo de ĉi tiu lernilo vi povas meti viajn skriptoj en dosierujo sub via hejma dosierujo.

Ene de fina fenestro certigu, ke vi estas en via hejma dosierujo tajpante la sekvan komandon:

cd ~

La cd-komando staras por ŝanĝaj dosierujoj kaj la tilde (~) estas simpla vojo por via hejma dosierujo.

Vi povas kontroli, ke vi estas en la ĝusta loko tajpante la sekvan komandon:

pwd

La pwd-komando donos al vi vian aktualan dosierujon (kie vi estas en la dosierujo). En mia kazo revenis / hejme / gary.

Nun evidente vi ne volas rekte enmeti viajn skriptoj al la hejma dosierujo, do krei dosierujon nomitan skriptoj tajpante la sekvan komandon.

mkdir-skriptoj

Ŝanĝi en la novan skripton-dosierujon tajpante la sekvan komandon:

cd-skriptoj

Via Unua Skribo

Ĝi kutimas lerni kiel plani fari la unuan programon simple eligi la vortojn "Hello Mondo".

El via dosierujo de skriptoj eniru la jenan komandon:

nano helloworld.sh

Nun enigu la sekvan kodon en la nanan fenestron.

#! / bin / bash echo "saluton mondo"

Premu CTRL + O por savi la dosieron kaj CTRL + X por eliri nano.

La skripto mem estas farita kiel sekvas:

La #! / Bin / bash devas esti inkluzivita ĉe la supro de ĉiuj skriptoj, kiujn vi skribas, kiel ĝi permesas interpretistojn kaj la mastruma sistemo scipovas manipuli la dosieron. Esence nur memoru enmeti ĝin kaj forgesi pri kial vi faras ĝin.

La dua linio havas unu ordonon nomitan eĥon, kiu eligas la tekston, kiu tuj sekvas ĝin.

Rimarku, ke se vi volas montri pli ol unu vorton, vi devas uzi duoblajn citaĵojn (") ĉirkaŭ la vortoj.

Vi nun povas kuri la skripton tajpante la sekvan komandon:

sh helloworld.sh

La vortoj "saluton mondo" aperos.

Alia maniero por kuri skriptoj estas kiel sekvas:

./helloworld.sh

La ŝancoj estas, ke se vi kuros tiun ordonon en via fina stacio tuj ricevos eraron de permesoj.

Por doni permesojn por ekzekuti la skripton, tajpu la jenajn:

sudo chmod + x helloworld.sh

Do kio efektive okazis tie? Kial vi povis kuri helloworld.sh sen ŝanĝi ŝanĝojn sed kurante ./helloworld.sh kaŭzis problemon?

La unua metodo ŝarĝas la bazan interpretiston, kiu prenas la infanon kiel enigon kaj funkcias kion fari kun ĝi. La basa interpretisto jam havas permesojn por kuri kaj nur bezonas kuri la komandojn en la skripto.

La dua metodo permesas al la mastruma sistemo ekscii kion fari kun la skripto kaj sekve ĝi postulas plenumeblan biton por ekzekuti.

La supra skripto estis bone, sed kio okazas se vi volas montri la komentojn?

Ekzistas diversaj manieroj por atingi ĉi tion. Ekzemple vi povas meti malantaŭen antaŭ la citaĵoj kiel sekvas:

eĥo \ "saluton mondo \"

Ĉi tio produktos la eliron "Saluton Mondo".

Atendu nur minuton, kio se vi volas montri \ "saluton mondon \"?

Nu, vi ankaŭ povas eskapi de la ellasiloj

eĥo \\ "\" saluton mondo \\ "\"

Ĉi tio produktos la eliron \ "hello world \".

Nun mi scias, kion vi pensas. Sed mi vere volas montri \\ "\" saluton mondon \\ "\"

Uzante eĥon kun ĉiuj tiuj eskapaj karakteroj povas esti sufiĉe stulta. Ekzistas alternativa komando, kiun vi povas uzi nomata printf.

Ekzemple:

printf '% s \ n' '\\ "\" hello world \\ "\"'

Rimarku, ke la teksto, kiun ni volas montri, estas inter unuopaĵoj. La printfkomando eligas tekston de via skripto. La% s signifas, ke ĝi montros ĉenon, la \ n elsendas novan linion.

Resumo

Ni ne vere kovris multan teron en parto unu, sed espereble, ke vi havas vian unuan skripton laborante.

En la venonta parto ni rigardos plibonigi en la salutmonda skripto por montri tekston en malsamaj koloroj, akcepti kaj manipuli enmetajn parametrojn, variablojn kaj komentigi vian kodon.