Exercices UNIX Exercices sur la programmation des scripts shell d Unix - Corrigé

Exercices sur la programmation des scripts shell d Unix - Corrigé

Index de l'article
Exercices sur la programmation des scripts shell d Unix
Corrigé
Toutes les pages

Exercice 1 

change.bash

 

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

 


 

Exercice 2

nombreJours.bash

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
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

script3.bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

script4.bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

script5a.bash

 

1
2
3
4
5
6
7
8
for FILE in /etc/*
  do
  if test -r $FILE
    then 
    echo $FILE
    fi
  done
 

script5b.bash

1
2
3
4
5
6
7
8
for FILE in /etc/*
  do
  if test -w $FILE
    then 
    echo $FILE
    fi
  done
 

 

Exercice 6

table.bash

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


Ajouter un Commentaire