Potrzebujesz pomocy z C, C++, perl, python, itp.
sauvage
Posty: 2 Rejestracja: 27 marca 2012, 10:42
Post
autor: sauvage » 27 marca 2012, 11:35
Witam
.
Proszę o pomoc w analizie kodu, próbuję napisać skrypt, jednak cały czas coś "nie gra"
.
P roszę o wskazówki i z góry dziękuję
.
Oto co stworzyłem:
Kod: Zaznacz cały
#!bin/bash
a=”uzytkownicy.txt”
b=`cat $a |wc –l`
for x In `seq $b`
do
c="cat $a |head –n $x |tail –n 1”
login=`echo $c |cut –d: –f1`
haslo=`echo $c |cut –d: -f2`
grupa=`echo $c |cut –d: -f3`
useradd -m – g $grupa –p $haslo $login
chpasswd <<KONIEC
$login:$haslo
KONIEC
done
O czywiście plik uzytkownicy.txt zawiera:
Kod: Zaznacz cały
aadamowski:0123:pierwsza_gr
ddawidowski:00123:druga_gr
mmarcinowski:12300:druga_gr
pyrion
Posty: 42 Rejestracja: 13 czerwca 2009, 12:04
Post
autor: pyrion » 27 marca 2012, 18:24
Kod: Zaznacz cały
while read LINE
do
LOGIN=`echo $LINE | cut -d: -f1`
HASLO=`echo $LINE | cut -d: -f2`
GRUPA=`echo $LINE | cut -d: -f3`
useradd -m -g $GRUPA -p $HASLO $LOGIN
done < uzytkownicy.txt
sauvage
Posty: 2 Rejestracja: 27 marca 2012, 10:42
Post
autor: sauvage » 27 marca 2012, 18:58
D zięk
uję , właśnie tego mi brakowało. Wszystko działą jak należy, temat uważam za zamknięty
.
Z robione to jednak inną droga niż pierwotne założenie ale cel osiągnięty. Czy można to zrobić czyściej bez echo i cut?
Kod: Zaznacz cały
#!bin/bash
if
[ $# -eq 0 ] ; then
echo “#### ZAPOMNIAŁEŚ O PARAMETRZE ####”
else
while read line
do
login=`echo $line | cut –d: -f1`
grupa=`echo $line | cut –d: -f2`
haslo=`echo $line | cut –d: -f3`
echo “Login to:$login, Grupa to:$grupa, Hasło to:$haslo”
groupadd $grupa 2>/dev/null
[ $? –eq 0 ] && echo “grupa $group nie istniała i została utworzona”
useradd –m –g &grupa $login –p $haslo
done < $1
fi
Skorzystaj z opcji podglądu wiadomości.