User Tools

Site Tools


osmi_tutorijal

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

osmi_tutorijal [2017/04/28 10:25] (current)
Line 1: Line 1:
 +\\
 +====== UNIX Varijable ======
  
 +Varijable su nacin preosledjivanja informacija od shell-a do programa kada ih pokrecete. Programi gledaju "u okruzenju"​ za odredjene varijable i ako ih nadju koristice njihove sacuvane vrednosti. Neke su podesene od strane sistema, ostale od vas, opet neke druge od strane shell-a, ili nekog preograma koji ucitava drugi program.
 +
 +Standardne UNIX varijable su podeljene u dve kategorije, environment varijable i shell varijable. Prosto receno, shell varijable vaze samo za trenutnu instancu shell-a i koriste se za podesavanje kratkorocnih radnih uslova; environment varijable imaju znacaj koji doseze dalje, i one podesene pri logovanju su validne za celo trajanje sesije. Konvencionalno,​ environment varijable imaju VELIKA SLOVA i shell varijable imaju imena sa malim slovima. ​
 +
 +====== Environment Varijable ======
 +
 +Primer environment varijable je OSTYPE varijabla. Njena vrednost je trenutni operativni sistem koji koristite. Kucajte
 +
 +  % echo $OSTYPE ​
 +
 +Ostali primeri environment varijabli su
 +
 +  * USER (vase login ime)
 +  * HOME (putanja vaseg home direktorijuma)
 +  * HOST (ime kompjutera koji koristite)
 +  * ARCH (arhitektura kompjuterskog procesora)
 +  * DISPLAY (ime kompjuterskog ekrana za prikazivanje X prozora)
 +  * PRINTER (podrazumevani stampac na koji se salju poslovi za stampanje)
 +  * PATH (direktorijumi koje shell pretrazuje u potrazi za komandom) ​
 +
 +===== Nalazenje trenutnih vrednosti ovih varjabli =====
 +
 +ENVIRONMENT varijable se postavljaju koristeci **setenv** komandu, prikazuju se koristeci **printenv** ili **env** komande, i uklanjaju se koristeci **unsetenv** komandu.
 +
 +Da prikazete sve vrednosti ovih varijabli, kucajte
 +
 +  % printenv | less
 +
 +====== Shell Varijable ======
 +
 +Primer shell varijable je history varijabla. Njena vrednost je koliko shell komandi da sacuva, omogucavajuci korisniku da pregleda sve komande koje je ranije uneo. Kucajte
 +
 +  % echo $history
 +
 +Ostali primeri shell varijabli su
 +
 +  * cwd (vas trenutni radni direktorijum)
 +  * home (putanja vaseg home direktorijuma)
 +  * path (direktorijumi koje shell pretrazuje u potrazi za komandom)
 +  * prompt (tekstualni string koji se koristi za upit interaktivnih komandi shell vas login shell) ​
 +
 +===== Nalazenje trenutnih vrednosti ovih varjabli =====
 +
 +SHELL varijable se i postavljaju i prikazuju koriscenjem **set** komande. Mogu se ukloniti koriscenjem **unset** komande.
 +
 +Da prikazete sve vrednosti ovih varijabli, kucajte
 +
 +  % set | less
 +
 +===== Pa kakva je onda razlika izmedju PATH i path ? =====
 +
 +Uopsteno, environment i shell varijable koje imaju isto ime (osim velikih i malih slova) su odvojene i nezavisne, osim mogucnosti da imaju iste pocetne vrednosti. Ipak postoje i neki izuzeci.
 +
 +Svaki put kada se shell varijable home, user i term promene, odgovarajuce environment varijable HOME, USER i TERM dobijaju iste vrednosti. Ipak, menjanje environment varijabli nema efekat na odgovarajuce shell varijable.
 +
 +PATH i path odredjuju direktorijume koji se pretrazuju za komande i programe. Obe varijable uvek predstavljaju istu listu direktorijuma,​ i menjanje bilo koje automatski menja i ovu drugu. ​
 +
 +====== Koriscenje i postavljanje varijabli ======
 +
 +Svaki put kada se ulogujete na UNIX host, sistem gleda u vas home direktorijum za fajlove za pokretanje. Informacije u ovim fajlovima se koriste da podese vase radno okruzenje. C i TC shell koriste dva fajla koji se nazivaju .login i .cshrc (primetite da oba imena fajlova pocinju sa tackom).
 +
 +Pri logovanju C shell prvo cita **.cshrc** i onda **.login**
 +\\
 +
 +**.login** se koristi za postavljanje uslova koje ce se primeniti na celu sesiju i da se izvrse postupci koji su vazni samo prlikom logovanja.
 +\\
 +
 +**.cshrc** se koristi za postavljanje uslova i izvrsava postupke specificne za shell i prilikom svakog njenog pozivanja.
 +\\
 +
 +Uputstva su da se ENVIRONMENT varijable postavljaju u **.login** fajlu i SHELL varijable u **.cshrc** fajlu. ​
 +
 +|**UPOZORENJE:​ NIKADA ne stavljajte komande koje pokrecu graficke prozore (npr. web citac) u vasem .cshrc ili .login fajlu.**|
 +
 +====== Postavljanje shell varijabli u .cshrc fajlu ======
 +
 +Na primer, da promenite broj shell komandi koje se cuvaju u history listi, morate da postavite shell varijablu history. Podrazumevano je podesena na 100, ali ako zelite ovaj broj mozete da povecate.
 +
 +  % set history = 200
 +
 +Proverite dali je ovo radilo tako sto kucate
 +
 +  % echo $history
 +
 +Ipak, ovo je postavilo varijablu koja ce ostati samo dok je trenutni shell otvoren. Ako otvorite novi xterm prozor, imace samo podrazumevanu podesenu history vrednost. Da podesite vrednost za history ZA STALNO, moracete da dodate set komandu u .cshrc fajl.
 +
 +Prvo otvorite **.cshrc** fajl u uredjivacu teksta. Lak, user-friendly uredjivac koji mozete koristiti je nedit.
 +
 +  % nedit ~/.cshrc
 +
 +Dodajte sledecu liniju NAKON liste ostalih komandi. ​
 +
 +|set history = 200|
 +
 +Sacuvajte fajl i kazite shell-u da ponovo ucita svoj .cshrc fajl koristeci shell source komandu. % source .cshrc Proverite dali je ovo radilo tako sto kucate % echo $history
 +
 +====== Podesavanje putanje ======
 +
 +Kada kucate komandu, vasa path (ili PATH) varijabla definise u koje ce direktorijume shell traziti da nadje komandu koju ste ukucali. Ako sistem prikaze poruku koja kaze "​command:​ Command not found",​ ovo znaci da komanda ne postoji na sistemu uopste ili jednostavno nije u vasoj putanji.
 +
 +Na primer, da pokrenete units, morate da direktno odredite putanju za units (**~/​units174/​bin/​units**),​ ili morate imati direktorijum **~/​units174/​bin** u vasoj putanji.
 +
 +Mozete ga dodati na kraju vase postojece putanje (**$path** predstavlja ovo) tako sto izdajete komandu:
 +
 +  % set path = ($path ~/​units174/​bin)
 +
 +Testirajte dali je ovo radilo tako sto cete pokrenuti units u bilo kom drugom direktorijumu osim u onom u kojem se units ustvari nalazi.
 +
 +  % cd; units
 +
 +|SAVET: Mozete pokrenuti vise komandi u jednoj liniji tako sto cete ih odvojiti tackom i zarezom.|
 +
 +Da dodate ovu putanju za STALNO, dodajte sledecu liniju u vas .cshrc NAKON liste ostalih komandi.
 +
 +|set path = ($path ~/​units174/​bin)|
 +
 +\\
osmi_tutorijal.txt ยท Last modified: 2017/04/28 10:25 (external edit)