Académique Documents
Professionnel Documents
Culture Documents
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
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
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.
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)
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