User Tools

Site Tools


osmi_tutorijal


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)