skrypt do zmiany hasła
: 30 września 2014, 15:16
jak przeczytać plik w którym mam dwie wartości przedzielane np ::
czyli mamy users::haslo
chce wydobyć obie wartości osobno
czyli mamy users::haslo
chce wydobyć obie wartości osobno
Polski portal użytkowników dystrybucji Debian GNU/Linux, dyskusje, artykuły, nowości, blog, porady, pomoc.
https://www.debian.pl/
Kod: Zaznacz cały
cut -d '::' -f1
cut -d '::' -f2
Kod: Zaznacz cały
10 for wers in $(cat lista.txt)
11 do
12 HASLO="test1234"
13 SUBJECT='Konto zalozone'
14 EMAIL=""$wers"@test.tionbk.net"
15 #MESSAGE = 'Witam , konto zalozone login to:$WERS , haslo to "$HASLO"'
16
17
18 $f1=`cut -d ':' -f1 $wers`
19 $f2=`cut -d ':' -f2 $wers`
20 #$MESSAGE="Witam , konto zalozone login to:$wers , haslo to $HASLO"
21 echo $f1
22 echo $f2
23 #echo -d /home/$f1 -m $f1 -p $f2
24 #passwd $HASLO $WERS
25
26 #mail -s "$SUBJECT" "$EMAIL" "$MESSAGE"
27 done
Kod: Zaznacz cały
cut: ananas12:test: Nie ma takiego pliku ani katalogu
./skrypt.sh: line 18: =: nie znaleziono polecenia
cut: ananas12:test: Nie ma takiego pliku ani katalogu
./skrypt.sh: line 19: =: nie znaleziono polecenia
Kod: Zaznacz cały
$PLIK=/sciezka/do/pliku
zmienna=`cut -d ':' -f1 $PLIK`
Kod: Zaznacz cały
zmienna=`echo $wers | cut -d ':' -f1`
Kod: Zaznacz cały
root@debian:/student# cat -n skrypt.sh
1 #!/bin/bash
2
3
4 echo 'Wybierz Student[s] lub Pracownik[p]'
5 read kto
6
7 if [ $kto = "s" ] ;
8 then
9 #echo 'student automatyczna'
10 for wers in $(cat lista.txt)
11 do
12
13 SUBJECT='Konto zalozone'
14 #EMAIL=""$wers"@test.tionbk.net"
15 #MESSAGE = 'Witam , konto zalozone login to:$WERS , haslo to "$HASLO"'
16
17
18 f1=`echo $wers | cut -d ':' -f1`
19 f2=`echo $wers | cut -d ':' -f2`
20 MESSAGE="Witam , konto zalozone login to $f1 , haslo to $f2"
21 EMAIL=""$f1"@test.tionbk.net"
22 useradd -d /home/$f1 -m $f1 -p $f2
23
24
25 mail -s "$SUBJECT" "$EMAIL" "$MESSAGE"
26 done
27
28 elif [ "$kto" = "p" ] ;
29 then
30 echo 'pracownik'
31 echo "podaj login"
32 read login
33 echo "podaj haslo"
34 read haslo
35
36 useradd -d /home/$login -m $login -p $haslo
37
38
39 else
40 echo ' Zły wybór'
41 fi
Kod: Zaznacz cały
1 #!/bin/bash
2
3
4 echo 'Wybierz Student[s] lub Pracownik[p]'
5 read kto
6
7 if [ $kto = "s" ] ;
8 then
9 #echo 'student automatyczna'
10 for wers in $(cat lista.txt)
11 do
12
13 SUBJECT='Konto zalozone'
14 #EMAIL=""$wers"@test.tionbk.net"
15 #MESSAGE = 'Witam , konto zalozone login to:$WERS , haslo to "$HASLO"'
16
17
18 f1=`echo $wers | cut -d ':' -f1`
19 f2=`echo $wers | cut -d ':' -f2`
20 MESSAGE="Witam , konto zalozone login to $f1 , haslo to $f2"
21 EMAIL=""$f1"@test.tionbk.net"
22 useradd -d /home/$f1 -m $f1 -p $f2
23
24 echo -e "$MESSAGE" > temp.txt
25
26 mail -s $SUBJECT $EMAIL <temp.txt
27 done
28
29 elif [ "$kto" = "p" ] ;
30 then
31 echo 'pracownik'
32 echo "podaj login"
33 read login
34 echo "podaj haslo"
35 read haslo
36
37 useradd -d /home/$login -m $login -p $haslo
38
39
40 else
41 echo ' Zły wybór'
42 fi
Kod: Zaznacz cały
echo -e "$MESSAGE" > temp.txt
mail -s $SUBJECT $EMAIL <temp.txt
Kod: Zaznacz cały
echo -e "$MESSAGE" | mail -s $SUBJECT $EMAIL