Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

BASH - The Bourne-Again Shell




Bash je omotač, ili prevodilac komandnog jezika, koji će se pojaviti u GNU operativnom sistemu. Bash je sh-kompatibilni omotač koji sadrži korisne funkcije iz Korn shell (ksh) i C shell (csh). Namera je da se povinuje IEEE POSIX P1003.2/ISO 9945.2 Shell i standardnim alatima. Nudi funkcionalna poboljšanja u odnosu na sh za programiranje i interaktivno korišćenje. Pored toga, većina sh skripti može da se pokrene sa Bash bez modifikacije. Bash je prilično prenosiv. On koristi konfiguracioni sistem koji otkriva karakteristike kompilacione platforme za vreme izgradnje, i zbog toga može biti izgrađen na skoro svakoj verziji UNIX-a. Portovi na UNIX sistemima kao što su QNX i Minix i na ne-UNIX sistemima, kao što su OS/2, Windows 95/98 I Windows NT su na raspolaganju. Bash obuhvata sledeće funkcije:

Montaža i Završetak

Bash nudi komandne linije za editovanje koje omogućavaju korisnicima da izmene linije komandne koristeći poznate emacs ili vi-style komande za uređivanje. Izmene omogućavaju korekciju bez brisanja unazad do tačke greške ili pokretanje iznova komandne linije. Montažna obuhvata funkcije koje omogućavaju korisnicima da završe komande i imena fajlova.

Bash biblioteka za uređivanje je u potpunosti prilagodljiva. Korisnici mogu da definišu svoje ključne veze - mere koje se preduzimaju kada se pritisne taster. Brojne promenljive za fino podešavanje ponašanja uređivanja su takođe na raspolaganju.

Istorija i Re-entry komande

Bash istorija pamti komande koje si ušle u omotač i omogućava im da budu opozvane i ponovo izvršene. Lista istorije može biti neograničeno velika. Bash omogućava korisnicima da pretražuju prethodne komande i ponovnu upotrebe delova tih komandi prilikom sastavljanja nove. Lista istorije može biti sačuvana kroz shell sesiju.

Bash omogućava korisnicima da kontrolišu koje komande se čuvaju na listu istorije.

Kontrola posla

Na sistemima koji ga podržavaju, Bash obezbeđuje interfejs za kontrolu posla operativnog sistema, i omogućava da procesi budu zaustavljeni i ponovo pokrenuti, i preseljeni između prvog plana i pozadine. Bash omogućava korisnicima da selektivno "zaborave" poslove u pozadini.

Shell Funkcije i Pseudonimi

Ovi mehanizmi su dostupni za vezivanje korisničkog identifikatora izabranog na listi komandi koji će biti izvršen kada se identifikator koristi kao naziv komande. Funkcije dozvoljavaju lokalne promenljive i rekurzije, i imaju pristup okruženju pozivajući omotače. Pseudonimi mogu da se koristi za kreiranje mnemoničkih za ime komande, kao i da razviu jednu reč na kompleksnu komandu, ili da obezbede da se komanda pozove sa osnovnim setom opcija.

Nizovi

Bash verzija novija od bash-2.0 podržava indeksirane nizove neograničene veličine. Indeks niza je aritmetički izraz. Nizovi mogu biti dodeljeni novim sintaksama složenog zadatka, a nekoliko ugradjenih imaju opcije da rade sa nizom varijabli. Bash obuhvata niz varijabli ugrađen u nizu.

Aritmetika

Bash omogućava korisnicima da obavljaju aritmetiku sa celim brojevima u bilo kojoj osnovi od dva do šezdesetčetiri. Skoro svi C jezički aritmetički operatori su dostupni sa istom sintaksom i prednostima kao u C. Aritmetičko proširivanje omogućava da se aritmetički izraz vrednuje i da se rezultat zameni u komandnoj liniji. Shell promenljive mogu se koristiti kao operande, a vrednost izraza može biti dodeljena promenljivoj.

Aritmetičke izraz može da se koristi kao komanda, a izlazni status komande je vrednost izraza.

ANSI-C Quoting

Postoji nova navodeća sintaksa koja omogućava inverzno-nestalim slovima u nizu da se prošire u skladu sa ANSI-C standardom.

Tilda ekspanzija

Matični korisnički direktorijumi mogu se proširiti korišćenjem ove funkcije. Reči koje počinju sa Tilde mogu se proširiti i na tekućem ili prethodnom radnom direktorijumu.

Brace ekspanzija

Brace ekspanzija je pogodan način za generisanje listi nizova koji dele zajednički prefiks ili sufiks.

Mogućnosti podniza

Bash omogućava stvaranje novih nizova, vođenjem ili praćenjem podniza od postojećih promenljivih vrednosti, ili navođenjem pokretanja ofseta i dužine. Delovi promenljivih vrednosti mogu biti upareni protiv obrazaca omotača, a odgovarajuće porcije uklonjene ili zamenjene novim vrednostima.

Indirektno Proširenje Promenljivih

Bash čini da lako nađemo vrednost omotača promenljive čije ime je vrednost druge promenljive.

I/O sposobnosti

Bash obezbeđuje nekoliko odlika ulaza i izlaza koje nisu dostupna u sh, uključujući mogućnost da:

*odredite fajl ili fajl deskriptor za ulaz i izlaz
*čitaju ili pišu asinhrone procese koristeći imenovane prolaze
*čitanje linija koje se završavaju obrnutom kosom crtom
*prikaže prompt na terminalu pre čitanja
*formatira menija i tumače odgovore na njih
*eho linije baš kao ulaz, bez procesiranja izlaza

Kontrola ugrađenih komandi

Bash realizuje nekoliko ugrađenih komandi da bi obezbedio korisnicima veću kontrolu koje se komande izvršavaju. Bilten za omogućavanje, omogućava druge komande biltena da se selektivno omoguće ili onemoguće. Komanda i ugrađene ugradnje promenile su redosled kojim omotač traži komande.

Na sistemu koji omogućava dinamično punjenje, nove ugradnje mogu biti napunjene u pokrenute omotače iz deljenog fajla. Nove ugradnje mogu biti učitane u već pokrenut omotač zajedničkog objekta datoteke. Ove nove ugradnje imaju pristup svim omotačima.

Pomoć

Bash uključuje i ugrađenu pomoć.

Shell Opciono ponašanje

Postoji velika prilagodljivost ponašanja omotača. ShopT ugrađena komanda pruža jedinstveni interfejs koji omogućava korisnicima da menjaju podrazumevani prompt omotača.

Prilagođavanje promt-a

Bash dozvoljava primarnom i sekundarnom promtu da se prilagodi tumačeći jedan broj backslash-escaped specijalnih znakova. Parametar i varijabilna ekspanzija se vrši na vrednostima primarnih i sekundarnih nizova pre nego što se prikažu.

Bezbednost

Bash pruža ograničeno okruženje omotača. Takođe je moguće kontrolisati izvršenje setuid/setgid skripti.

Skladište direktorijuma Bash omogućava `skladište direktorijuma", u kome se direktorijumi mogu dodati i oduzeti. Sadašnji direktorijum može da se promeni u bilo koji direktorijum u skladištu. Lako je prebacivati se između dva direktorijuma u skladištu. Skladište direktorijuma se može sačuvati i vratiti kroz različite pozive omotača.

POSIX Režim

Bash je skoro potpuno prilagodljiv POSIX.2. POSIX režim menja tih nekoliko oblasti u kojima se uobičajeno ponašanje bash-a razlikuje od standardnog da bi odgovaralo standardu. U POSIX modu, bash je prilagodljiv POSIX.2.

Internacionalizacija

Bash pruža novu citirajuću sintaksu koja omogućava da se nizovi prevode u skladu sa trenutnim lokalom. Lokalni standard u kome sama omotač radi može da se promeni, tako da se poruke omotača bude na specifičnom jeziku.

U komandnoj liniji za uređivanje dozvoljen je ulaz osmo-bitnih znakova, tako da je većina ISO-8859 setova familije podržana.

Vremenske komande

Bash dozvoljava spoljne komande, ugrađene komande i funkcije omotača se mere. Ovaj format se koristi za prikazivanje informacija o vremenu i može biti promenjen od strane korisnika.



Published (Last edited): 31-08-2012 , source: http://tiswww.case.edu/php/chet/bash/bash-intro.html