Escolar Documentos
Profissional Documentos
Cultura Documentos
Stage Informatique
Clara Bertolissi
Plan
Variables d’environnement
Exemples
Exemples
Variables d’environnement
Variable Description
USER Login de l’utilisateur (ex : toto)
HOME Répertoire principal de l’utilisateur
(ex : /home/toto/)
SHELL Shell utilisé (ex : /bin/bash)
TERM Type du terminal utilisé (ex : xterm)
PATH Liste des répertoires dans lesquels le shell
cherche les commandes
Pour exécuter un programme qui n’est pas dans le PATH, il faut donner
son chemin explicitement, ou alors modifier le contenu de la variable
PATH.
Exemple simple
% more PremierScript
# !/bin/bash
echo -n "Aujourd’hui, nous somme le "
date
% chmod a+x PremierScript
% ls -l
total 4
-rwxr-xr-x 1 toto I01 43 oct 10 01 :04 PremierScript
Exemple simple
% more PremierScript
# !/bin/bash
echo -n "Aujourd’hui, nous somme le "
date
% chmod a+x PremierScript
% ls -l
total 4
-rwxr-xr-x 1 toto I01 43 oct 10 01 :04 PremierScript
% PremierScript
Aujourd’hui, nous somme le dim oct 10 01 :04 :44 2004
Exemple simple
% more PremierScript
# !/bin/bash
echo -n "Aujourd’hui, nous somme le "
date
% chmod a+x PremierScript
% ls -l
total 4
-rwxr-xr-x 1 toto I01 43 oct 10 01 :04 PremierScript
% PremierScript
Aujourd’hui, nous somme le dim oct 10 01 :04 :44 2004
% date
dim oct 10 01 :05 :26 2004
Les commentaires
% more SecondScript
# !/bin/bash
echo Cette ligne # est tronquée
% SecondScript
Cette ligne
Les commentaires
% more SecondScript
# !/bin/bash
echo Cette ligne # est tronquée
% SecondScript
Cette ligne
% more SecondScript corrige
# !/bin/bash
echo Cette ligne \# n’est pas tronquée
% SecondScript corrige
Cette ligne # n’est pas tronquée
Variable Description
$0 Nom du shell script
$1 à $9 Les 9 premiers paramètres
$# Le nombre de paramètres
$* Tous les paramètres passés au shell script
... ...
% more TroisiemeScript
# !/bin/bash
echo ’programme :’ $0
echo ’argument 1 :’ $1
echo ’argument 2 :’ $2
echo ’argument 3 :’ $3
echo "nombre d’arguments :" $#
echo "tous :" $*
% more TroisiemeScript
# !/bin/bash
echo ’programme :’ $0
echo ’argument 1 :’ $1
echo ’argument 2 :’ $2
echo ’argument 3 :’ $3
echo "nombre d’arguments :" $#
echo "tous :" $*
% TroisiemeScript un deux
programme : ./TroisiemeScript
argument 1 : un
argument 2 : deux
argument 3 :
nombre d’arguments : 2
tous : un deux
%
Structures de test
Exemple : structure if
I if [ $JOUR = "mercredi" ]
then
echo "Chouette, cours d’Initiation ce matin !"
else
echo "Dommage, pas de cours aujourd’hui !"
fi
I if [$nombre -eq 27 ] . . .
I if [-w $nom-fichier ] . . .
Structure conditionelle
Le script
JOUR=`date +%A`
if [ $JOUR = "mercredi" ]
then
echo "Chouette, cours d’informatique ce matin !"
fi
affichera à l’écran
uniquement le mercredi.
Structure case
Le script
# !/bin/bash
JOUR=‘date +%A‘
case $JOUR in
mercredi) echo "Ce matin, cours d’Informatique !" ; ;
lundi) echo "Ce matin, TP d’informatique !" ; ;
*) echo "Pas d’informatique aujourd’hui" ; ;
esac
affichera
Structure case
Le script
# !/bin/bash
JOUR=‘date +%A‘
case $JOUR in
mercredi) echo "Ce matin, cours d’Informatique !" ; ;
lundi) echo "Ce matin, TP d’informatique !" ; ;
*) echo "Pas d’informatique aujourd’hui" ; ;
esac
affichera
I Ce matin, cours d’Initiation ! chaque mercredi
I Ce matin, TP d’informatique ! uniquement le lundi
I Pas d’informatique aujourd’hui les autres jours.
Boucles itératives
Structure for
Le script
for x in un deux trois quatre
do
echo "La valeur vaut "$x
done
affichera :
Structure for
Le script
for x in un deux trois quatre
do
echo "La valeur vaut "$x
done
affichera :
La valeur vaut un
La valeur vaut deux
La valeur vaut trois
La valeur vaut quatre
Structure for
% more scriptFOR
# !/bin/bash
echo "nb paramètres="$#
for x in $*
do
echo $x
done
% scriptFOR un deux trois
nb paramètres=3
un deux trois
En langage script :
Boucles conditionnelles
En langage script :
i=0
while [ $i -lt 100 ]
do
echo $i
i=‘expr $i + 1‘
done
Exemple d’exécution :
% ScriptTetu
c’est d’accord ? Non
c’est d’accord ? Ouais
c’est d’accord ? OK
%