Programmation shell

Preview:

Citation preview

Réalisé par: Encadré par:

• csh : C Shell. Un shell utilisant une syntaxe proche du language C

• sh : Bourne Shell. L'ancêtre de tous les shells.

• bash : Une amélioration du Bourne Shell.

Affichage de texte sur la sortie

standard

Exemple :

Affichage d’une variable

Exemple :

Il existe trois types de quotes :

- les apostrophes ' ' (simples quotes) .

- les guillemets " " (doubles quotes) .

- les accents graves ` ` (back quotes) :

substitution commande

Les simples quotes ' ‘

Les doubles quotes " "

Les variables simples

Syntaxe :

variable=chaîne

Exemple :

Les tableaux

Syntaxe :

tableau=(chaîne1 chaîne2 ...)

${tableau[2]} : Affichage de la case N°2

${tableau[*]} : Affichage de toutes les

cases

Exemple :

Variables d'environnement

HOME

USER

PWD

SHELL

PATH

HOSTNAME

HISTSIZE

-u refuser les variables indéfinies

-a exporter toutes les variables

Deux moyens de programmation :

=> Direct

=> Scripts

=> Création du fichier :

Indication du nom du Shell

Exécution des commandes

syntaxe particulière :

Emplacement du Shell

Installation du Shell :

# apt-get install csh

$ chsh

=> Création du fichier :

Indication du nom du Shell

Exécution des commandes

Exemple:

« Exécutable »

chmod +x

1- « ./ nom du script »

Exemple:

2- « echo $PATH »

Exemple :

• LES STRUCTURES CONDITIONNELLES:

La structure if

La structure case

• LES BOUCLES

La structure while until

La structure for

remarque IMPORTANT

IL convient de préciser que

chaque shell à sa propre syntaxe .

Le shell par défaut est bash

1.qu’est ce qu’un test

opération dont le but est d'évaluer la valeur

d'une expression

Faussevraie

Expression

Code de retour

0 ≠0

echo $?

Syntaxe

Ces deux syntaxes sont équivalents:

test expression

[ expression ]

Exemple

on ne doit pas écrire [expression] mais

[↔ expression ↔]

↔:espace

Exemple

en bash il est possible d'affecter trois types

test différents :

Des tests sur des chaînes de caractères

Des tests sur des nombres

Des tests sur des fichiers

Exemple :

Exécution du script :

Exemple :

Exécution du script :

Syntaxe:(Plus générale)

if test condition_1 # ou if [ condition_1]

then

commandes1

[ elif test condition_2 ; then commandes ]…

[ else commandes3 ]fi # l'envers de if (fin de bloc)

Syntaxe:

case $variable in

Valeur1)

Commande1;;

Valeur2)

Commande2;;

….….

*) # tous les autres cas

Commande;;

esac # (l'envers de case) ( Fin de bloc case )

Syntaxe:

while condition until condition

do do

commandes commandes

done done

while until

Tant que

condition est vraiejusqu'à ce que

condition est vraie

Tant que

condition est fausse

Inverse

Parcourir une liste de valeurs définies.

Syntaxe:

for variable in liste-de-valeurs

do

commandes

done

$#

$0

$1, $2, $3 ... $9

$* et $@

Exemple

Substitution de variables

Substitution de commandes

Substitution de variables:

${var:-valeur}

${variable:?message}

${variable:=valeur}

${variable:+valeur}

Substitution de commande

Syntaxe

$(COMMANDE) ou bien `COMMANDE`

Recommended