Exercice Unix corrigé programmation des scripts shells

Exercice 1

AVANT=$(ls -l $1)
touch $1
APRES=$(ls -l $1)
echo "Avant : "$AVANT
echo "Apres : "$APRES

Exercice 2

MOIS=$(date +"%m")
case $MOIS in
01) NOM="janvier";;
02) NOM="fevrier";;
03) NOM="mars";;
04) NOM="avril";;
05) NOM="mai";;
06) NOM="juin";;
07) NOM="juillet";;
08) NOM="aout";;
09) NOM="septembre";;
10) NOM="octobre";;
11) NOM="novembre";;
12) NOM="decembre";;
esac
ANNEE=$(date +"%Y")
case $MOIS in
01|03|05|07|08|10|12)
echo "31 jours en "$NOM" "$ANNEE;;
04|06|09|11)
echo "30 jours en "$NOM" "$ANNEE;;
02)
BISSEXTILITE=$(expr $ANNEE % 4)
if [ $BISSEXTILITE != 0 ]
then
echo "28 jours en "$NOM" "$ANNEE
else
BISSEXTILITE=$(expr $ANNEE % 100)
if [ $BISSEXTILITE != 0 ]
then
echo "29 jours en "$NOM" "*ANNEE
else
BISSEXTILITE=$(expr $ANNEE % 400)
if [ $BISSEXTILITE != 0 ]
then
echo "28 jours en "$NOM" "$ANNEE
else
echo "29 jours en "$NOM" "$ANNEE
fi
fi
fi;;
esac

Exercice 3

test -e Exo3
if [ $? != 0 ]
then
mkdir Exo3
fi
echo "Premiere ligne"  >Exo3/Un
echo "Deuxieme ligne"  >Exo3/Deux
echo "Troisieme ligne" >Exo3/Trois
echo "Quatrieme ligne" >Exo3/Quatre
echo "Cinquieme ligne" >Exo3/Cinq
echo "Sixieme ligne"   >Exo3/Six
echo "Septieme ligne"  >Exo3/Sept
echo "Huitieme ligne"  >Exo3/Huit
echo "Neuvieme ligne"  >Exo3/Neuf
echo "Dixieme ligne"   >Exo3/Dix

Exercice 4

REP=$(date +"%Y%m%d")
test -e $REP
if [ $? != 0 ]
then
mkdir $REP
fi
cp Exo3/* $REP
rm Exo3/*
for file in $REP/*
do
cat  $file >> ~/Gros_fichier.$$
echo $file >> ~/$0.$$
done

Exercice 5

for FILE in /etc/*
do
if test -r $FILE
then
echo $FILE
fi
done

Exercice 6

for V in $(seq 0 $2)
do
echo $V" x "$1" = "$(expr $V "*" $1 )
done

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *