Cours script shell
Partie 2
C lasses :STIC L2C/STIC L2E
Suite d u cours
1. Affichage des variables
2. Variables d’environnements
Affichage des variables
Il existe trois types de quotes :
Les apostrophes ' ' (simples quotes)
Avec de simples quotes, la variable n'est pas analysée
Les guillemets " " (doubles quotes)
Les doubles quotes demandent à bash d'analyser le contenu du message s'il
trouve des symboles spéciaux (comme des variables), il les interprète.
Les accents graves ` ` (back quotes)
Les back quotes demandent à bash d'exécuter ce qui se trouve à l'intérieur.
Les variables d’environnements
Les variables d'environnements sont des
variables que l'on peut utiliser dans n'importe
quel programme.
On parle aussi parfois de variables globales.
Affichage : env ou printenv
Exemples des variables
SHELL : indique quel type de shell est en cours d'utilisation (sh,
bash, ksh…)
PATH : une liste des répertoires qui contiennent des exécutables
que vous souhaitez pouvoir lancer sans indiquer leur répertoire.
HOME : Répertoire personnel de l'utilisateur
PWD : le dossier dans lequel vous vous trouvez
USER : nom de l'utilisateur
Suite
Creation :export nom=valeur
Affichage :env | grep nom
Variables spéciales
Le script shell récupère les arguments de la ligne de commande dans des
variables réservées appelées paramètres positionnels:
$# Nombre d’arguments reçus par le script
$0 Le nom du script lui-même
$1 $2 … $9 ${10} $1 est la valeur du premier argument, $2 la valeur
du second….
$* Liste des arguments
Exercices
Exercice 1 : ecrire un script shell nomme [Link] qui:
Affiche toutes les variables d’environnement du système.
Affiche uniquement la valeur de la variable HOME.
Vérifie la valeur de SHELL.
Exercice 2 : ecrire un script [Link] qui :
Crée une variable appelée MESSAGE contenant le texte "Bonjour Linux".
Affiche son contenu.
Ferme ton terminal et rouvre-le. Essaie de réafficher MESSAGE.
Exercice 3 : ecrire un script [Link] qui :
Crée une variable TEST=123.
Vérifie sa valeur.
Supprime la variable.
Vérifie qu’elle n’existe plus.