Vous êtes sur la page 1sur 3

Université de Monastir

Institut Supérieur d’Informatique de Mahdia

Solution TP Programmation SHELL 1

Exercice 1 Exercice 2

#!/bin/bash #!/bin/bash
echo "Le nombre de paramètres est : $#" echo "Le nombre de paramètres est : $#"
echo "Les paramètres sont : $*" echo "Les paramètres sont : $*"
echo "La commande est : $0" echo "La commande est : $0"
echo "Le premier paramètre est : $1" echo "Le premier paramètre est : $1"
shift
echo "Le nombre de paramètres est : $#"
echo "Les paramètres sont : $*"
echo "La commande est : $0"
echo "Le premier paramètre est : $1"

Exercice 3 Exercice 4

#!/bin/bash #!/bin/bash
while test $# -ne 0 echo "Donnez un répertoire : "
do read REP
echo "Le nombre de paramètres est : $#" ls -ld $REP
echo "Les paramètres sont : $*"
echo "La commande est : $0"
echo "Le premier paramètre est : $1"
shift
done
Exercice 5 Exercice 6

#!/bin/bash #!/bin/bash
ls -ld $1 for I in 1 2 3 a b c
do
echo "I = $I"
done
Exercice 7 Exercice 8

#!/bin/bash #!/bin/bash
for I in $* while [ $# -gt 0 ]
do do
echo "I = $I" echo "Le premier paramètre = $1"
ls -ld $I ls -ld $1
done shift
done

Administration Avancé sous Linux LPI102 – Master 1 – 2022/2023 page 1


Université de Monastir
Institut Supérieur d’Informatique de Mahdia

Exercice 9 Exercice 10

#!/bin/bash #!/bin/bash
while [ $# -gt 0 ] if test $# -ne 1
do then
if test -a $1 echo "Erreur de syntaxe" >&2
then echo "Syntaxe: $0 Nombre" >&2
if test -f $1 exit 1
then fi
echo "$1 est un fichier"
elif test -d $1 S=0
then for I in `seq 1 $1`
echo "$1 est un répertoire" do
elif test \( -b $1 \) -o \( -c $1 \) S=`expr $S + $I`
then done
echo "$1 est un périphérique" echo "La somme de 1 à $1 est $S"
else
echo "$1 est un fichier d'un
autre type"
fi
else
echo "$1 n'existe pas"
fi
shift
done

Exercice 11

#!/bin/bash
case $(ls -ld $1 | cut -c1 ) in
- ) echo "$1 est un fichier ordinaire" ;;
d ) echo "$1 est un répertoire" ;;
c | b ) echo "$1 est un périphérique" ;;
* ) echo "$1 est d'un autre type ou inexistant";;
esac

Administration Avancé sous Linux LPI102 – Master 1 – 2022/2023 page 2


Université de Monastir
Institut Supérieur d’Informatique de Mahdia

TP Programmation SHELL

Exercices

1- Écrire un script qui affiche le nombre de paramètres, la liste des paramètres, le nom du script et
le premier paramètre.

2- Écrire un script qui prend deux paramètres et qui effectue la même chose en double que le script
précédent en intercalant la commande shift. Que remarquez vous ?

3- Écrire un script semblable au premier mais qui effectue le même travail pour chaque paramètre.

4- Écrire un script qui demande et lit un chemin vers un répertoire et affiche son continu
récursivement.

5-Écrire un script semblable au script précédent mais le chemin du répertoire est donné en
paramètre.

6- Écrire un script qui affiche à chaque fois un élément de la liste 1 2 3 a b c

7- Écrire un script qui prend en paramètre plusieurs chemin de répertoire et affiche leurs contenu un
par un (en utilisant la boucle for)

8- Faire la même chose en utilisant la boucle while

9- Écrire un script qui prend plusieurs chemin de fichier et affiche pour chacun son type.

10- Écrire un script qui prend en paramètre un entier et affiche la somme des entiers entre 1 et la
paramètre donné. Vérifier que le script a bien reçu un paramètre

11- Réécrire un script semblable à 9- qui prend un paramètre et en utilisant la structure case

Administration Avancé sous Linux LPI102 – Master 1 – 2022/2023 page 3

Vous aimerez peut-être aussi