Vous êtes sur la page 1sur 27

Les variables

Linux
Linux 11 CPI
CPI 2018/2019
2018/2019

-1-
Les variables

-2-
Les variables

Les variables nous permettent de stocker


temporairement des informations.

On en distingue trois types des variables :


● variable d’utilisateur
● variable du système
● variable spéciale

-3-
Les variables

-4-
Les variables
● Une variable est déclarée dès qu’une valeur lui
est affectée
● L’affectation est effectuée avec le caractère =,
sans espace avant ou après le caractère =
Syntaxe: nom_variable=valeur

● Pour accéder au contenu d'une variable en


plaçant le caractère $ devant le nom de la
variable
● Quand le shell rencontre $nom_variable va le
remplacer par son contenu (valeur)
-5-
Les variables
Exemple 01
(sans espace, espace avant et après =)
user1@PC:~$ a=Bonjour
user1@PC:~$ echo $a
Bonjour
user1@PC:~$ a= Bonjour
Bonjour : commande introuvable
user1@PC:~$ a =Bonjour
a : commande introuvable

-6-
Les variables
Exemple 02 (utilisation)

user1@PC:~$ chemin=../
user1@PC:~$ echo $chemin
../
user1@PC:~$ cd $chemin
user1@PC:/home$

-7-
Les variables
Exemple 03
les guillemets (" ") sont utilisées quand la valeur de
la variable contient des espaces
user1@PC:~$ a="Bonjour tout le monde"
user1@PC:~$ echo $a
Bonjour tout le monde
user1@PC:~$ b=1cpi
user1@PC:~$ echo $a $b
Bonjour tout le monde 1cpi
user1@PC:~$ echo "$a $b"
Bonjour tout le monde 1cpi
user1@PC:~$ echo "Je veux vous dire: $a $b"
Je veux vous dire: Bonjour tout le monde 1cpi

-8-
Les variables
Exemple 04
Les apostrophes (' ') comme les guillemets (" ")
mais les apostrophes (' ') ne font pas l’interprétation
des variables et des substitutions.
user1@PC:~$ a='linux "est top"'
user1@PC:~$ b="linux c'est très bien"
user1@PC:~$ echo '$a, $b'
$a, $b
user1@PC:~$ echo "$a, $b"
linux "est top", linux c'est très bien

-9-
Les variables
Exemple 05
Les accents graves (` `), qui s'insèrent avec Alt Gr
+ 7. ils demandent à shell d'exécuter ce qui se
trouve à l'intérieur
user1@PC:~$ a=`pwd`
user1@PC:~$ echo $a
/home/user1
user1@PC:~$ b=`seq 1 10`
user1@PC:~$ echo $b
1 2 3 4 5 6 7 8 9 10

- 10 -
Les variables
Exemple 06
Les accolades {} permettent d’identifier le nom
d’une variable
user1@PC:~$ cat fich1 fich2
Je suis fichier1
Je suis fichier2
user1@PC:~$ a1=5
user1@PC:~$ a2=7
user1@PC:~$ a=fich
user1@PC:~$ echo $a1 $a2
5 7
user1@PC:~$ echo ${a}1 ${a}2
fich1 fich2
user1@PC:~$ cat ${a}1 ${a}2
Je suis fichier1
Je suis fichier2
- 11 -
Les variables

Exemple 07
+= permet de rajouter à la variable
user1@PC:~$ a=valeur1
user1@PC:~$ a+=" valeur2"
user1@PC:~$ echo $a
valeur1 valeur2

- 12 -
Les variables

- 13 -
Les variables
Les variables système sont des variables
prédéfinies accessibles par l’utilisateur.

Attention :
la modification des variables système ont une
incidence directe sur le comportement du
système

La commande $env permet d’affiche toutes les


variables d’environnement (Les variables
système)
- 14 -
Les variables

Exemple 01 (LOGNAME)

user1@PC:~$ echo $LOGNAME


user1

- 15 -
Les variables

Exemple 02 (HOME)

user1@PC:~$ echo $HOME


/home/user1

- 16 -
Les variables

Exemple 03 (SHELL)

user1@PC:~$ echo $SHELL


/bin/bash

- 17 -
Les variables

Exemple 04 (HOSTNAME)

user1@PC:~$ echo $HOSTNAME


PC

- 18 -
Les variables

Exemple 05 (PWD)

user1@PC:/home$ echo $PWD


/home

- 19 -
Les variables
Exemple 06 (PATH)
Liste de répertoires, séparés par des : où le shell va
rechercher les commandes externes, les programmes ou
les scripts
user1@PC:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/games:/usr/local/games

- 20 -
Les variables
Exemple 07 (PATH)

user1@PC:~$ cp /bin/mkdir Bureau/mon_Mkdir


user1@PC:~$ mon_Mkdir Rep1
mon_Mkdir : commande introuvable
user1@PC:~$ PATH+=:$HOME/Bureau/
user1@PC:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/games:/usr/local/games:/
home/user1/Bureau/
user1@PC:~$ mon_Mkdir Rep1
user1@PC:~$ ls -ld Rep1/
drwxrwxr-x 2 user1 user1 4096 1 18:53 Rep1/

- 21 -
Les variables

- 22 -
Les variables

Les variables spéciales sont des variables


prédéfinies accessibles uniquement en lecture

- 23 -
Les variables
Exemple 01 ($?)
Code de retour de la dernière commande exécutée
(par exemple 0: la dernière commande est bien
exécutée)
user1@PC:~$ echo $PATH | grep /usr/
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/games:/usr/local/games
user1@PC:~$ echo $?
0

- 24 -
Les variables

Exemple 02 ($$)
$$ contient PID du shell actif
user1@PC:~$ ps
PID TTY TIME CMD
6591 pts/0 00:00:00 bash
6608 pts/0 00:00:00 ps
user1@PC:~$ echo $$
6591

- 25 -
Les variables

Exemple 03 ($!)
$! contient PID du dernier processus lancé en arrière
plan en utilisant &
user1@PC:~$ sleep 3 &
[1] 6644
user1@PC:~$ echo $!
6644
[1]+ Fini sleep 3

- 26 -
Les variables

Linux
Linux 11 CPI
CPI 2018/2019
2018/2019

- 27 -

Vous aimerez peut-être aussi