Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: hotel007 08 Května 2011, 22:46:49
-
Zdravím, potřebuji poradit se 2 skriptama:
Jako parametr skriptu zadám uživatele a skript mi vypíše zda je aktuálně přihlášen, nebo není.
Nevím jak na to, ani jak to nějak napsat... Napadlo mě leda nějak použít finger výstup uložit do proměnné na tu dát grep s parametrem to uložit do nějaké proměnné a pak porovnat parametr s tou druhou proměnou pokud se rovnají, je přihlášen pokud ne tak není, ale jak to napsat? Jetu správná úvaha? Nevím....
Pro všechny uživatele zadane v podobe paramtru skriptu vypište obsazenost jejich domovského adresáře.
tohle vůbec netuším...
Děkuji za rady!
-
bohuzel s domacimi ukoly tady zpravidla neradime... nicmene k prvni casti ti dam maly tip:
w
-
Není to domácí úkol, ale opakování k testu a nevím jak na to, stačí když poradíte kde hledat, popřípadě CO hledat.... A díky za radu, ale W mi moc nepomohlo... :(
-
Zkusim te trochu popostrcit:
Ve skriptu muzes pouzit promennou, ve ktere je ulozeno, s jakymi parametry byl dany skript volan. (viz google a man bash)
Program ktery vypise aktualne prihlasene uzivatele se jmenuje users, pripadne w
A pak text, ktery vyplivne dany program prozenes grepem a pokud ti vrati nejaky text, tak je jasne, ze uzivatel je v systemu prihlasen
Jako parametru grepu predas promennou, ktera obsahuje parametry, s kterymi byl skript volan
-
Můžeš buď testovat, jestli ti grep vrátí řetězec nebo testovat poslední návratovou hodnotu $?
premet@opensuse:~> w | grep premet
premet :0 09:01 ?xdm? 13:57 0.09s /bin/sh /usr/bin/startkde
premet pts/0 09:02 1:29m 0.00s 1.23s kdeinit4: kded4 [kdeinit]
premet pts/2 09:02 0.00s 0.02s 0.00s w
premet@opensuse:~> echo $?
0
premet@opensuse:~> w | grep foo
premet@opensuse:~> echo $?
1
-
prihlaseny lidi
who | cut -d" " -f1 | uniq
pak staci jen cyklem projit a vypsat si jejich home? nespolejhal bych se na to ze to bude /home/$user, takze jestli neni lepsi zpusob, tak si to asi vzit z /etc/passwd