On Thu, 2009-03-12 at 10:01 +0100, Rafał Radecki wrote:
> Witam wszystkich. Jako początkujący twórca skryptów natrafiłem na
> problem. Tworzę skrypt tworzący konta na podstawie pliku /etc/passwd z
> innego hosta. Teoretycznie chciałem umieścić wszystkie odpowiednie ($5
> ~ /WZÓR$/)linijki wspomnianego /etc/passwd w zmiennej SUSERS:
> SUSERS=`awk -F: '$5 ~ /WZÓR$/{print}' ./passwd`
> Następnie za pomocą pętli for chciałem dla każdej linijki (wpisu ze
> starego /etc/passwd) otrzymywać odpowiednie wartości pól i dodawać
> nowego użytkownika:
> for $i in $SUSERSTak na marginesie - 'for i in$USERS', jeśli już. Nie "$i". > do [...] > done > > Niestety zmienna SUSERS zawiera jedną linijkę składającą się ze > wszystkich linii starego /etc/passwd oddzielonych spacjami Bo wybrałeś złą metodę. Jeśli używasz ``, dostaniesz cały wynik działania komendy. W tym wypadku powinieneś użyć raczej konstrukcji: awk -F ... | while read i; do [...] done -- d'`'`'`'`'`'`'`'`'`'`'`'`'Yb I'm forgetting what you said and not chang- `b [email protected] d' ing anything.(TeX) d' http://epsilon.eu.org/ Yb `b,-,.,-,.,-,.,-,.,-,.,-,.d' -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

