Tp1 Scripts Bash Correction
Tp1 Scripts Bash Correction
Tp1 Scripts Bash Correction
COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : [email protected] TEL : 00212669324964
I. Scripts a: et c:
II. #!/bin/bash
III. # script a:
IV. echo --- taper c: pour démonter la disquette ----------------
V. mount /dev/fd0 /mnt/floppy
VI. cd /mnt/floppy
VII. ls
XXXVII. login=$1
XXXVIII. passwd=$2
XXXIX. nom=$3
XL. groupe=$4
XLI. echo login=$login, mdp=$passwd, groupe=$groupe, nom=$nom
XLII. done
echo $?
LXXV. exit 1
LXXVI. fi
LXXVII. if [ -d "$1" ]
LXXVIII. then
LXXIX. echo "Le fichier \"$1\" est un répertoire"
LXXX. fi
LXXXI. if [ -f "$1" ]
LXXXII. then
LXXXIII. echo -n "Le fichier \"$1\" est un fichier ordinaire"
LXXXIV. if [ -s "$1" ]
LXXXV. then
LXXXVI. echo " qui n'est pas vide"
LXXXVII. else
LXXXVIII. echo " qui est vide"
LXXXIX. fi
XC. fi
XCI. if [ -r "$1" ]
XCII. then
XCIII. acces="$acces lecture"
XCIV. fi
XCV. if [ -w "$1" ]
XCVI. then
XCVII. acces="$acces écriture"
XCVIII. fi
XCIX. if [ -x "$1" ]
C. then
CI. acces="$acces exécution"
CII. fi
CIII. echo "\"$1\" est accessible par $USER en $acces"
CIV. exit 0
CV. Lister un répertoire
CVI. #!/bin/bash
CVII. # syntaxe liste-fichier nom-fichier
CVIII. # --> liste les fichiers comme la commande ls
CIX. if [ "$#" != 1 ]
CX. then
CXI. echo "Syntaxe d'appel : $0 nomRepertoire"
CXII. exit 1
CXIII. fi
CXIV. if [ ! -d $1 ]
CXV. then
CXVI. echo "\"$1\" n'est pas un nom de répertoire valide"
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : [email protected] TEL : 00212669324964
CXVII. exit 1
CXVIII. fi
CXIX. for fich in $1/*
CXX. do
CXXI. if [ -d $fich ]
CXXII. then
CXXIII. echo "d ---> $fich"
CXXIV. elif [ -f $fich ]
CXXV. then
CXXVI. echo - $fich
CXXVII. else
CXXVIII. echo "$fich : autre type de fichier"
CXXIX. fi
CXXX. done
CXXXI. Envoyer un mail à un ensemble d'utilisateurs
a. script message1.sh
b. #!/bin/bash
c. # on pourrait utiliser une conditionnelle
d. # if [ $# = 0 ]; then
e. # echo "Syntaxe $0 liste d'utilisateurs"
f. # exit 1
g. # fi
h. # Attention: les ( ) sont obligatoires car && est plus prioritaire que ;
i.
j. [ $# = 0 ] && (echo "Syntaxe $0 liste d'utilisateurs";exit 1)
k. echo "Envoi du message à $@"
l. for nom in $@
m. do
n. mail $nom@p00 <<EOF
o. bonjour a tous
p. ceci est un essai du script message1
q. utilisant mail sur p00
r. A+
s. Le "root"
t. EOF
u. done
v. script message2.sh
w. #!/bin/bash
x. # appel ./message2.sh
y. echo "message envoyé le $(date) a " >> utilisateurs.send
z. for nom in $(who | cut -d" " -f1)
aa. do
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : [email protected] TEL : 00212669324964