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/.
Strony: 1
Pisałem sobie taki prosty skrypcik, i czy ktoś mógłby powiedzieć czemu on nie działa?
Zbyt duża ilość zmiennych w miejscu gdzie ma zostać użyta komenda do tworzenia użytkowników?
#!/usr/bin/perl -w # pobiera dane z pliku .txt, i tworzy uzytkownikow na podstawie.. # USER:GROUP:SHELL $rozmiar = 1; @tab_user = (0..$rozmiar); @tab_group = (0..$rozmiar); @tab_shell = (0..$rozmiar); $ref = \$rozmiar; $i = 0; open(PLIK_1, "<" , "dane.txt"); # wczytuje dane z pliku, i ROZDZIELA je do tablic. while ( <PLIK_1> ) { $zmienna = $_; ($tab_user[$i],$tab_group[$i],$tab_shell[$i]) = split(/:/, $zmienna); $i++; $$ref++; } # WYPISUJE rozdzielone dane na ekranie, w celu weryfikacji poprawnosci kodu for($i=0; $i<$rozmiar-1; $i++ ) { print "user: $tab_user[$i] \t group: $tab_group[$i] \t shell: $tab_shell[$i]"; } # TWORZY uzytkownikow na podstawie zebranych danych z tablic for($i=0; $i<$rozmiar-1; $i++) { system("useradd -g $tab_group[$i] -s $tab_shell[$i] $tab_user[$i] "); } close PLIK_1;
Offline
while ( <PLIK_1> ) { chomp; $zmienna = $_;
Żeby się nie rozjezdzało:
for($i=0; $i<$rozmiar-1; $i++ ) { print "user: $tab_user[$i] \t group: $tab_group[$i] \t shell: $tab_shell[$i]\n"; }
Offline
Hmm faktycznie działa, ale jaką funkcję pełni to chomp gdy dodam do programu? Myślałem że chomp służy do wpisywania danych wprost z klawiatury, a tutaj jakie zastosowanie to ma? bo aż mnie zdziwiło to ? :o
No i dzięki za pomoc, w życiu bym nie wpadł na to, myslałem że coś perl nie ogarnia komendy systemowej lub po prostu nie mogę dodać tylu zmiennych do niej.
Offline
chomp usuwa ci znak końca lini przez to dostajesz czyste dane niczym nie zaśmiecone
Offline
Strony: 1