Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam a wiec mam napisac skrypt ktory znajdzie wszystkich uzytkownikow systemu ich full name i ostatnie 5 logowan... a to wszystko do pliku html [tabelka] jak narazie mam uzytkownikow i ich full name.. :
#!/bin/bash
grep -e root -e home /etc/passwd | sed -e 's/:*.//g' | cat -n > uzytko.txt
grep -e root -e home /etc/passwd > fname.txt
cat fname.txt | cut -f 5 --delimiter=: | cut -f 1 --delimiter=, | cat -n > fname.txt
echo "<.center><.table><.tr><.td>" > skrypt2.html
echo "Uzytkownicy:<.br>" >> skrypt2.html
cat uzytko.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td><.td>" >> skrypt2.html
echo "Full Name:<.br>" >> skrypt2.html
cat fname.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td></.tr></.table>" >> skrypt2.html 
ale szczerze mowiac nie podoba mi sie to.. bo w tabelce sa same kolumny.. i jak bedzie zadluga nazwa to sie kolejnosc zwali... nie wiem jak zrobic logowania.. i ogole mysle zeby to zrobic w petli.. ale jak.. 
Dziekuje za wszelkie odpowiedzi i przepraszam za moj brak wiedzy.. w koncu jestem tylko woznym.. :P[/i]
Offline



 Administrator
	



Ten skrypt w ogóle działa? Odpalilem tego htmla i to co mam:
Uzytkownicy:    Full Name:
1                      1 root
2                      2   
3                      3
4                      4
 
Co do tabeli to nie czaje czemu miałaby sie zwalić jak nazwa bedzie za długa (to i tabela bedzie miała wiekszą komórke). Ostatnie logowania użytkowników pokaże Ci polecenie last, trzeba tylko wyciagnąć konkretne informacje. Dobrze byłoby napisać to w php zamiast męczyć sie z bashem.
Offline
niestety takie sa wymogi ze ma byc w html :P 
a co do dzialania skryptu to fakt musialem cos zle przepisac.. :-/ 
ale i tak chcialbym to zrobic w petli.. zeby kazdy uzytkownik mial wlasna komorke tabeli.. co do logowan wiem ze mam korzystac z last ale nie wiem jak wstawic tam login uzytkownika systemu..
P.s.
Czy moglbym zostac zapisany do grupy dug??:> sa jakies wymogi ?? ;-)
Offline



 Administrator
	



Własnie dlatego że ma być to html wygodnie jest to napisać w php :) Kod php przeparsowany przez serwer www z obsługą php daje htmla. A wygodniej z tego wzgledu, że język podobny do c/c++, nie trzeba pisać w bashu :) no i na php.net jest świetna dokumentacjia po polsku. Co do zapisania się nie ma wymogów. No ale przydałoby sie żebyś używał debiana.
Offline
oczywiscie ze uzywam...  :-) 
ide popisac ten skrypcik moze cos wymysle.. a co do php to nie znam.. :P ma byc tak jak mi napisal pan od cwiczen... :-/
Offline



 Administrator
	



Myślałem że piszesz na własny użytek, ale skoro pan od ćwiczeń chce w bashu, to widocznie uczy was basha, a nie php. :)
Offline
a no ten pan to taki pan jak kazdy inny jak student ma pytanie z poza programu tematow.. to zawsze... nie wiem :-/ a czeka mnie jeszcze drugi skrypt.. :D z awk ale nie znam jego tresci




 elektryk dyżurny
	




hej sutzo jesteś z nowego portu czy jak? i chodzisz na polibudę?
Offline
Z nowego tak z polibudy niet... ja chodze do wsz na zabiance..
Offline




 matka przelozona
	Masz tu kawalek skrypta....
#!/bin/bash
cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//"  > user.s
echo "<HTML>" > login.html
echo " <CENTER>" >> login.html
echo "<TABLE>" >> login.html
echo " <TR>" >> login.html
echo "  <TD>" >> login.html
echo "    <CENTER><B> Login uzytkownika <BR>i pelna nazwa </B></CENTER>" >> login.html
echo "  </TD>" >> login.html
echo "  <TD>" >> login.html
echo "    <CENTER><B> Ostatnie 5 logowan </B></CENTER>" >> login.html
echo "  </TD>" >> login.html
echo " </TR>" >> login.html
grep -E -v "^#|^$"  user.s |while read login nazwa;
do
    echo " <TR>" >> login.html
    echo "  <TD>" >> login.html
    echo "     Login: <CODE><B>$login</B></CODE> <BR> Nazwa: <CODE><B>$nazwa</B></CODE>" >> login.html
    echo "  </TD>" >> login.html
    echo "  <TD>" >> login.html
    echo "  <PRE>" >> login.html
    last -a -n 5 $login |grep $login >> login.html
    echo "  </PRE>" >> login.html
    echo "  </TD>" >> login.html
    echo " </TR>" >> login.html
done
echo " </TABLE>" >> login.html
echo " </CENTER>" >> login.html
a oto przykladowy wynik dzialania
http://biexi.dug.net.pl/login.html
Offline



 Administrator
	



No ładny skrypcik. Ktoś tu wisi BiExi browara :)
Offline
omg i to nie jednego browara... :-) moze dobre wino?? dziekuje Biexi... chyle czola.. teraz tylko to musze przestudiowac :-)
Offline




 matka przelozona
	Ja lubie dobre wino :]
Staralm sie jak napjprsciej to napisac jak z zrozumieniem czegos bedziesz mial problemy to pytaj....
A tak na marginesie bash byl pierwszym jezykiem programowania (jezykiem skryptowym) ktorego poznalam pracujac pod linuxem teraz walcze z perl'em i ucze sie C i corazbardziej mnie to wciaga :]
Offline
Hmmm c++ mam za soba... :-) perl.. hmmmm nie znam ;-) a co do linuxa dzis mialem zerowke i poleglem chyba... strasznie koles sie wygryzl z nim... [tak apropo mam wyklady z autorem cdlinux'a hahahaha panim kaczmarkiem lol ] 
co do linijek nie zabardzo rozumiem:
cat /etc/passwd |grep /bin/bash | 
cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//"  > user.s 
grep -E -v "^#|^$"  user.s |while read login nazwa; 
wiem co z czym sie je sed i awk... grep tez... ale nie rozumiem dokladnie : "^#|^$" ... i to chyba wsio...
//
najgorsze przedemna... assembler.. do piatku mam zrobic dwa zadania na dsm51... straszne.. 
//
Offline




 matka przelozona
	oooj taka kobiete to ze swieczka szukac :-) 
ok ok ja cierpliwy i czekac bede
Offline




 elektryk dyżurny
	




najgorsze przedemna... assembler
no to możemy sobie ręce podać - w następnym semestrze mam mnieć przedmiot o wdzięcznej nazwie 'programowanie mikrokontrolerów' czy jakoś tak. no i do tego dojdzie VHDL i inne takie cuda. moja głowa...
Offline
no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)
Offline




 matka przelozona
	A Wiec co do linijki
cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//" > user.s w sumie mozna bybylo jeszcze trochw zobtymalizowac ta w/w procedurkt..... ale to juz sam sobie mozesz zrobic...
grep - wyswietl tylko linie w ktroych znajduje sie ciag zakow "/bin/bash"
cud -d: .... - podziel na fragmety cag znakow odzielonych ":" i wytnij odpowiednie kolumny...
awk awk '{printf $1;... - w tym przypadku wyswietla ciag juz przetwozonego wiersza aby muc go przygotowac do dalszej obrobki...
sed "s/,//" zastepuje znak w tym przypadku zastpuje wszystkie "," niczym.....
co do
grep -E -v "^#|^$" user.s |while read login nazwa;
to co widzisz to ejst poczatek petli.... a 
grep -E -v "^#|^$" - mowi zeby pomojac wszystkie puse wiersze i wiersze zaczynajace sie od znaku "#"
b]read login nazwa[/b] - odczytuje wartosci odzielone spacja 1 wartosc jest przypisywana do zmiennej login a droga do zmiennej nazwa
Offline



 Administrator
	



no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :(
Offline
Dzieki Biexi... ale nie wiem dlaczego on rowniez przeszukuje /bin/bash 
kamikaze:
ja tez musze oddac dwa programy... :( do piatku... chyba bede musial sie usmiechnac do Biexi ;-)
Offline
 Członek DUG
	
no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :(
hehe. widze ze strasznie duzo lduzi sie pojawia z jakiejs elektroniki czy czegos takiego :). co prawda nie tu miejsce na takie zwierzenia, ale tez przez to przechodzilem :). i tak mi zostalo do dzis - cyfrowka fajna rzecz.
Offline