TP2 UNIX
Exercice 1 :
1)Ecrire un script qui affiche les informations détaillées des répertoires
contenues dans le répertoire du travail
Ls -ld */
Ls -l | grep ^d
2)modifier le script pour qu’il prenne en arguments le répertoire à traiter à la
place du répertoire du travail. S’assurer qu’il y a exactement un argument qui
correspond à un répertoire existant dont on peut lister le contenu.
Methode 1 :
#! /bin/bash
if [ $# -ne 1 ]
then
echo " entrez un seul arguement"
Else
if ! [ -d $1 ] || ! [ -r $1 ]
Then
echo"repertoire inexistant ou inaccesible"
Else
Ls -l $1 | grep ^d
Fi
fi
Methode 2 :
#! bin/bash
If ($# !=1)
then
echo "entrez un seul arguement "
Else
if [ -d $1 ] |&&[ -r $1 ]
then
Ls -l | grep ^d
Else
echo ‘repertoire inexistant ou inaccesible’
Fi
fi
Exercice 2 :
1)Utiliser while pour développer une boucle qui s’arrête lorsque une variable
var initialisé à 5 vaut 0 et qui à chaque itération affiche le message var vaut
suivi du contenu du var
2)Reprendre la question 1 pour que le message affiché indique aussi si var est
pair u impair
Solution :
# ! /bin/bash
Var=5
While [ $var -ne 0 ]
Do
If (($var %2==0 ))
Then
echo « $var est pair «
Else
echo « $var est impair
Fi
((Var=var-1))
Done
Exercice 3 :
1)Créer un repertoire EX3 dans le repertire personnel
2)Créer dans ce repertoire 3 fichiers nommés a , b et c
3)se placer dans le repertoire EX3
4)Ecrire un script en utilisant la boucle for pour renommer tous les fichiers du
repertoire EX3 en fichier d’extention .txt
For fichier in *
Do mv $fichier $[Link]
Done
Exercice 4 :
1)ecrire un script qui modifie le resultat : « le prix du produit x se situe autour
de 10Dt
2)Modifier le script precedent pour que le prix corresponde au 1er argument du
script
3)Modifier le script precedent pour que le prix corresponde au contenu d’un
fichier tarif
4)Modifier le script precedent pour que le nom du fichier contenant le tarif
corresponde au 1er argument du script
Solution :
1-Echo "le prix du produit x se situe autour de 10Dt "
2-Echo "le prix du produit x se situe autour de $1Dt "
3-
Methode 1 :
W=$(cat tarif)
Echo "le prix du produit x se situe autour de $wDt "
Metohde 2 :
Echo "le prix du produit x se situe autour de $(cat tarif)Dt "
Remarques :
1-Execution SHELL :
methode 1 ./nomscript : l’execution se fait dans un sous shell
Methode 2 . nomscript : l’execution se fait dans le shell courant
2- ${12} different de $12 ( argument 12 – arugement 1 et 2 )
3-THEN et DO et ELSE :
Point virgule ou saut de ligne pur le syntaxe de l’execution