Vodič za početnike BASH - 1. dio - Zdravo svijet

Na internetu postoji puno vodiča koji pokazuju kako kreirati Shell skripte koristeći BASH i ovaj vodič ima za cilj da daju nešto drugačije okretanje jer je napisao neko ko ima vrlo malo iskustva u skripti.

Sada možete da mislite da je ovo glupa ideja, ali smatram da neki vodiči pričaju sa vama kao da ste veštak i da drugi vodiči predugo traju da biste prešli na poteru.

Iako je moj LINUX / UNIX shell skripting iskustvo ograničen, ja sam programer za softver po trgovini i ja sam ruka na skriptnim jezicima kao što su PERL, PHP i VBScript.

Poenta ovog vodiča je da ćete naučiti dok naučim i sve informacije koje pokupim preniću vam.

Počinjemo

Očigledno postoji puno teorija koje bih vam mogao odmah prenijeti, na primer opisivanje različitih vrsta školjke i prednosti korištenja BASH-a iznad KSH-a i CSH-a.

Većina ljudi, kada saznaju nešto novo, žele da uđu u početak i počnu sa nekim praktičnim lekarima, a s tim na umu neću vas nositi sa trivijalnim, što trenutno nije važno.

Sve što vam treba za praćenje ovog vodiča je tekstovni editor i terminal koji pokreće BASH (podrazumevana šolja na većini Linux distribucija).

Tekst Urednici

Drugi vodiči koje sam pročitao sugerišu da vam je potreban tekstovni editor koji uključuje boje kodiranja komandi, a preporučeni urednici su ili VIM ili EMACS .

Kodiranje boja je lepo jer naglašava komande dok ih upišete, ali za apsolutnog početnika možete provesti prve nedelje učenja VIM-a i EMACS-a bez pisanja jedne linije koda.

Od ova dva ja volim EMACS, ali da budem iskren, volim da koristim jednostavan editor, kao što su nano , gedit ili leafpad.

Ako pišete skripte na vašem računaru i znate da ćete uvijek imati pristup grafičkom okruženju, onda možete izabrati editor koji najbolje radi za vas i može biti grafički kao što je GEdit ili uredjaj koji radi direktno u terminalu kao što su nano ili vim.

U svrhu ovog vodiča koristiću nano jer je instaliran na većini Linux distribucija i stoga je verovatno da ćete imati pristup njemu.

Otvaranje prozora terminala

Ako koristite Linux distribuciju sa grafičkom radnom površinom kao što su Linux Mint ili Ubuntu, možete otvoriti prozor terminala pritiskom na CTRL + ALT + T.

Gdje postaviti svoje skripte

U svrhu ovog vodiča možete staviti svoje skripte u fasciklu ispod svoje kućne fascikle.

U okviru prozora za provjeru provjerite da li ste u svom kućnom fasciklu upisivanjem sljedeće naredbe:

cd ~

Naredba cd predstavlja promenu direktorija, a tilda (~) je prečica za vašu kućnu fasciklu.

Možete proveriti da li ste na pravom mjestu ukucanjem sledeće naredbe:

pwd

Pwd naredba će vam reći vaš trenutni radni direktorij (gdje ste u stablu direktorija). U mom slučaju vratio se / kući / gary.

Sada očito nećete hteti staviti svoje skripte direktno u kućni direktorijum tako da kreirate fasciklu pod nazivom skripti tako što ćete uneti sledeću naredbu.

mkdir skripte

Promenite novi folder skripti upisivanjem sledeće naredbe:

cd skripte

Vaš prvi scenario

Uobičajeno je kada se učite kako da programirate kako bi prvi program jednostavno izašao iz reči "Hello World".

Iz vašeg foldera skripti unesite sledeću komandu:

nano helloworld.sh

Sada unesite sledeći kod u nano prozor.

#! / bin / bash echo "hello world"

Pritisnite CTRL + O da biste sačuvali datoteku i CTRL + X da biste izašli iz nano-a.

Sam scenario sastoji se kako slijedi:

#! / Bin / bash mora biti uključen na vrh svih skripti koje pišete, jer prevodiocima i operativnom sistemu znaju kako da upravljaju datotekom. U suštini samo zapamtite da je stavite i zaboravite zašto to činite.

Druga linija ima jedinstvenu komandu pod nazivom echo koja izlazi na tekst koji odmah sledi.

Imajte na umu da ako želite da prikažete više od jedne reči, potrebno je da koristite dvostruke citate (") oko reči.

Sada možete pokrenuti skriptu upisivanjem sledeće naredbe:

sh helloworld.sh

Trebalo bi da se pojave reči "hello world".

Drugi način za pokretanje skripti je sledeći:

./helloworld.sh

Šanse su da ako odmah izvršite tu komandu na vašem terminalu, dobićete grešku u dozvoli.

Da biste dobili ovlaštenja za pokretanje skripte na ovaj način, ukucajte sledeće:

sudo chmod + x helloworld.sh

Pa šta se zapravo dogodilo tamo? Zašto ste mogli pokrenuti sh helloworld.sh bez promjene dozvola, ali je pokrenuto ./helloworld.sh izazvao problem?

Prvi metod učitava baš tumača koji uzima helloworld.sh kao ulaz i razrađuje šta da radi sa njim. Bash prevodioca već ima dozvole za pokretanje i samo treba pokrenuti komande u skripti.

Drugi metod omogućava operativnom sistemu da razradi šta treba da uradi sa skriptom i zbog toga zahteva izvršni bit za izvršavanje.

Gore navedeni scenario je bio u redu, ali šta se događa ako želite prikazati navodnike?

Postoje različiti načini za postizanje ovoga. Na primer, možete staviti sličicu sa zadnjom osovinom pre nareðenja na sledeæi način:

echo \ "hello world \"

Ovo će proizvesti output "hello world".

Čakajte malo, šta ako želite prikazati \ "hello world \"?

Pa možete pobjeći i od likova za bekstvo

echo \\ "\" hello world \\ "\"

Ovo će proizvesti output \ "hello world \".

Sada znam šta mislite. Ali stvarno želim da prikažem \\ "\" hello world \\ "\"

Korišćenje eha sa svim ovim osobama za bekstvo može postati sasvim glupo. Postoji alternativna naredba koju možete koristiti nazvan printf.

Na primjer:

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

Imajte na umu da tekst koji želimo prikazati je između pojedinačnih citata. Naredba printf izvodi tekst iz vaše skripte. % S znači da će prikazati niz, \ n izlazi nova linija.

Sažetak

U prvom dijelu nismo zapravo pokrivali mnogo osnova, ali nadamo se da imate svoj prvi scenario.

U sledećem dijelu ćemo se baviti poboljšanjem hello svetskog scenarija za prikazivanje teksta u različitim bojama, prihvatanje i rukovanje ulaznim parametrima, varijablama i komentarisanje vašeg koda.