Obtenir le pack complet des cours, TDs, examens sur Systèmes d’Exploitation!
Vous souhaitez maîtriser Systèmes d’Exploitation ? Ne cherchez plus, nous avons le pack bien choisi pour vous.

Accédez à une collection complète des supports de cours, des travaux dirigés (TDs) corrigés, TPs avec solution, examens...
Télécharger packProjet DVD-MIAGE 2010
TP n°3 : Programmation shell
CORRECTION
Travail à effectuer :
Solution : Voir corrigés du TD n°2.
Pour s'entraîner un peu plus ...
Solution :
Exercice A
#!/bin/bash
# syntaxe test-fichier nomFichier
# effectue des tests sur le fichier et affiche un compte-rendu.
acces=""
if [ "$#" = 0 ]then echo "Syntaxe d'appel : $0 nomFichier"
exit 1fi if [ ! -e "$1" ]then echo "Le fichier \"$1\" n'existe pas !"
exit 1fi if [ -d "$1" ]then echo "Le fichier \"$1\" est un répertoire"fi if [ -f "$1" ]then echo -n "Le fichier \"$1\" est un fichier ordinaire"
if [ -s "$1" ]then echo " qui n'est pas vide"else echo " qui est vide"fi fi
if [ -r "$1" ]then acces="$acces lecture"fi if [ -w "$1" ]then acces="$acces écriture"fi if [ -x "$1" ]then acces="$acces exécution"fi echo "\"$1\" est accessible par $USER en $acces"
exit 0
Systèmes d'exploitationA. Queudet
Projet DVD-MIAGE 2010
Exercice B
#on stocke les paramètres pour ne pas les perdre
nb_param=$#
nom_script=$0
#vérification du nb de paramètres
if [ $nb_param ne 1 ]then echo "Usage : $0 <fichier_resultat>"exit fi
param1=$1
#vérification de l'existence du fichier de sortie
#il faudrait aussi tester si le motif du fichier n'est pas "fichier*.txt"
if test -e $param1then echo "Le fichier de sortie $param1 existe"exit fi
#boucle de concaténation
for fic in `ls fichier*.txt` do
#concaténation
cat $fic >> $param1done Exercice C
if [ ! -d OLD ] ; then
if mkdir OLD ; then
echo La création du répertoire OLD a échoué ; exit 1
fi fi suffixe=‘date ’+#%Y-%m-%d’‘ for i in * ; do
if [ -f $i ] ; then
cp "$i" "OLD/$i$suffixe"
fi done Systèmes d'exploitationA. Queudet