Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

BASH Scripting (jos nekoliko kratkih)

[es] :: Skript jezici :: BASH Scripting (jos nekoliko kratkih)

[ Pregleda: 1660 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

[Venom]
Mr Anderson

Član broj: 63684
Poruke: 29
*.popl.cable.ntl.com.



Profil

icon BASH Scripting (jos nekoliko kratkih)18.12.2008. u 08:17 - pre 141 meseci
poz

Imam jos jedno stotinjak pitanja, nije problem zar ne

Uglavnom trikovi i potezi....


1. Kada posaljem komandu finger da izbaci podatke o userima, to izgleda ovako:

Code:

-- ~ > finger -s userID
Login        Name            Tty      Idle  Login   Time   Office     Office Phone
userID      Ime Prezime    pts/2          Dec 18 06:53 (host.bla1.bla2.bla3.com)


Medjutim, meni je potrebno da output bude na primer samo "Name" od tog korisnika, tacnije da pokaze samo drugi red.

Takodje, da li je moguce pokazati HOME direkotrijum, njegove procese, i disk useage (quota), tog korisnika?


2. Na koji nacin, pomocu sadasnjeg vremena, moze da se posalje echo vreme dana.

Recimo, "Dobro jutro", do 12, "Dobar dan do" do 17:00 i "Dobro vece" posle 17:00...

Da li sa datumima moze da se manipulise u smislu <, >, = ? Predpostavljam da moze na taj nacin da se uradi.


:-/
-
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.rs.



+256 Profil

icon Re: BASH Scripting (jos nekoliko kratkih)18.12.2008. u 12:26 - pre 141 meseci
Nije bilo potrebe da otvaras novu temu. Mogli smo nastaviti u staroj.

1) Ajmo polako. Recimo:

# finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
...

Znaci dobili smo sve i svasta za root-a. Treba nam linija gde je Name:, iskoristicemo pajpovanje i grep komandu (recimo da mi je to prvo palo na pamet, mozda i ma i opcija kod finger, nisam gledao manual sto tebi preporucujem)

# finger root| grep Name:
Login: root Name: root

Znaci treba nam jos nesto sto ce ovo sve da razdvoji. Za to koristimo awk:

# finger root| grep Name:| awk '{print $2}'
root


Za vise informacija iskoristiti komande:
Code:

man finger
man grep
man awk
info finger
info grep 
info awk


2)
Prvo moramo da saznamo koji je sat. Za to cemo upotrebiti komandu date (videti man date), tzv. backtick operator (`) u shell skriptovima koji sluzi da se izvrsi odredjena komanda, dodeljivanje vrednosti promenljivoj i konacno, if naredbu.
Da ne duzim, nemam sad vremena:

# sat=`date +%H`; echo $sat; if [ $sat > 12 ]; then echo "Dobro dan"; fi;
13
Dobro dan


Trebalo bi da ti je sve jasno iz ovoga.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

[es] :: Skript jezici :: BASH Scripting (jos nekoliko kratkih)

[ Pregleda: 1660 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.