Agenda telefonică în bash script

Agenda telefonica in Bash script - versiunea cu functii:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh

# Agenda telefonica in bash

BOOK="new-phone.txt"

Adauga(){
    echo "Aceasta este Agenda Telefonica"
    echo -n "Introduceti numele persoanei: "
    read nume

    echo -n "Intoduceti numarul de telefon: "
    read numar_telefon

    echo "Doriti salvarea datelor introduse: "
    echo -e "$nume ; $numar_telefon \n"
    echo -n "y/n: "
    read raspuns

    if [ "$raspuns" == "y" ]
    then 
        #Scrie valorile in fila
        echo "$nume ; $numar_telefon" >> $BOOK
    else
        #Mesajul afisat utilizatorului
        echo "$nume ; $phone Nu a fost scris in $BOOK"
    fi
}

Afiseaza(){
    echo "Numarul liniei: Nume ; Numar de telefon"
    #Afiseaza numele si nr tel cu numar de linie
    nl --number-separator=":     " $BOOK | less
}

Sterge(){
    echo "Ce linie din agenda doriti sa stergeti: "
    read numar
    #Redenumiti fila inainte de stergere"
    mv $BOOK book.txt
    #Adauga numere de linie si sterge
    nl --number-separator=":" book.txt | grep -v $numar_telefon: | awk -F: '{print $2}' | tee $BOOK
}

Gaseste(){
    echo -n "Ce persoana sau numar de telefon cautati?: "
    read find

    echo "Nume ; Numar de telefon"
    grep -i $find $BOOK
}

Agenda(){
    exit=0
    while [ $exit -ne 1 ]
    do
        echo "Ce operatie doriti sa executati?"
        echo -e "adauga, afiseaza, gaseste, sterge, exit: "
        read raspuns

        if [ "$raspuns" = "adauga" ]
        then
            Adauga
        elif [ "$raspuns" = "afiseaza" ]
        then
            Afiseaza
        elif [ "$raspuns" = "sterge" ]
        then 
            Sterge
        elif [ "$raspuns" = "gaseste" ]
        then
            Gaseste
        elif [ "$raspuns" = "exit" ]
        then 
            exit=1
        else
            echo "Comanda dvs nu este in lista!"
        fi

    done
}

#De aici incepe executia scriptului
Agenda
Imaginea urmatoare este din editorul de text vim:


O agendă telefonică în limbajul de programare bash.Prima fila este adauga.sh - cere introducerea contactului si il salveaza intr-o fila "address-book.txt":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh

# numele filei in care se salveaza contactele
BOOK="address-book.txt"

# Intreaba utilizatorul pentru numele contactului
echo -n "Numele persoanei: "
read name

# intreaba utilizatorul despre numarul de telefon
echo -n "Numarul de telefon: "
read phone

# afiseaza raspunsurile si cere confirmarea 
echo "Vreti salvarea datelor introduse: "
echo -e "$name ; $phone \n"
echo -n "y/n: "
read answer

if [ "$answer" == "y" ]
then 
    # Scrie valorile in fila
    echo "$name ; $phone" >> $BOOK
else
    # Mesajul afisat utilizatarului
    echo "$name ; $phone NU a fost scris in $BOOK"
fi

exit 
 
Fila care afiseaza contactele:
1
2
3
4
5
6
7
8
9
#!/bin/sh

BOOK="address-book.txt"

# Afiseaza capetele de tabel
echo "Numarul liniei: Nume ; Nuamr de telefon"

# Afiseaza agenda telefonica cu numar de linii si pauze cu less
nl --number-separator=":    " $BOOK | less  
Fila care gaseste contactele:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/sh

BOOK="address-book.txt"

echo -n "Ce persoana sau numar cautati?"
read find

# Afiseaza titlul inaintea cautarii
echo "Nume ; Numar de telefon"
grep -i $find $BOOK
Fila care sterge contactele:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/sh

BOOK="address-book.txt"

# intreaba utilizatorul ce linie sa sterga
echo -n "Ce linie doriti sa stergeti: "
read number

# Redenumiti filaq inainte de stergere
mv $BOOK boo.txt

# Adauga numere de linie si sterge 
nl --number-separator=":" boo.txt | grep -v $number: | awk -F: '{print $2}' | tee $BOOK
Si fila care leaga intreaga aplicatie:
RESURSE:
http://lions-wing.net/lessons/database/address.html
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

BOOK="address-book.txt"

exit=0
while [ $exit -ne 1 ]
do
    echo "Ce operatie doriti sa executati?"
    echo -e "adauga, afiseaza, gaseste, sterge, exit: "
    read answer

    if [ "$answer" = "adauga" ]
    then
        ./adauga.sh
    elif [ "$answer" = "afiseaza" ]
    then 
        ./afiseaza.sh
    elif [ "$answer" = "sterge" ]
    then
        ./sterge.sh
    elif [ "$answer" = "gaseste" ]
    then
        ./gaseste.sh
    elif [ "$answer" = "exit" ]
    then
        exit=1
    else
        echo "Comanda dvs nu este in lista!"
    fi
done

exit 0 

Comentarii

Postări populare de pe acest blog

GCC, the GNU Compiler Collection