Créer un script shell nommé "change" qui affichera la date de dernière modification d'un fichier puis la modifiera avec l'heure actuelle et enfin réaffichera la date de dernière modification du fichier.
Cette procédure acceptera 1 paramètre qui sera le nom du fichier.
Lorsque vous exécuterez "change mon_fic", le 8 octobre à 15 heures 12 vous obtiendrez le résultat:
avant : -r--r--r-- 1 user group 40 Fev 3 2001 mon_fic
après : -r--r--r-- 1 user group 40 Oct 8 15:12 mon_fic
Créer un script shell nommé "nombreJours" qui affichera le nombre de jours du mois courant.
"nombreJours" affichera pour février 2007 le message "28 jours en février 2007".
Créer un script shell réalisant la création d'un répertoire "Exo3" contenant 10 fichiers nommés "Un" à "Dix". Chaque fichier contient une seule ligne:
Créer un script shell qui réalise les opérations suivantes:
Créer un script nommé "table" permettant d'afficher des tables de multiplication.
"table 5 10" aura pour résultat l'affichage:
0 x 5 = 0
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 5 = 50
change.bash
1 2 3 4 5 |
AVANT=$(ls -l $1) touch $1 APRES=$(ls -l $1) echo "Avant : "$AVANT echo "Apres : "$APRES |
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 |
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 |
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 |
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 |
table.bash
1 2 3 4 5 |
for V in $(seq 0 $2) do echo $V" x "$1" = "$(expr $V "*" $1 ) done |