[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
47 vues5 pages

Guide Scripting Shell Unix/Linux

Ce document présente une introduction aux scripts shell en décrivant les principaux éléments pour automatiser des tâches, gagner du temps, simplifier la tâche de l'administrateur système et comprendre les scripts des systèmes d'exploitation Unix et Linux. Il détaille les variables, expressions mathématiques, structures de contrôle comme les conditions if/else et les boucles for et while.

Transféré par

lahrachhamidnour
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues5 pages

Guide Scripting Shell Unix/Linux

Ce document présente une introduction aux scripts shell en décrivant les principaux éléments pour automatiser des tâches, gagner du temps, simplifier la tâche de l'administrateur système et comprendre les scripts des systèmes d'exploitation Unix et Linux. Il détaille les variables, expressions mathématiques, structures de contrôle comme les conditions if/else et les boucles for et while.

Transféré par

lahrachhamidnour
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 5

Introduction aux Scripting shell

- Automatiser les taches


- Gagner du temps
- Simplifier la tâche de l’administrateur système
- Comprendre les scripts du système d’exploitation Unix et Linux
1- Déclarer les variables
Mavariable= « valeur »
$#,$@,$*,$0,$1,$2…
Exemple :
gedit exo1.sh
# !/bin/bash
Echo $0
Echo $1
Echo $2
Echo $3
Echo $@
Echo $#
Echo $*
Chmod +x exo1.sh
./exo1.sh op1 op2 op3 op4
$ ?:donne le résultat de la dernière commande exécutée
et retourne 0 (true) ou 1 (false)
$$ :donne le pid du processus qui a lancé le scripts
Exemples :
 Test 2 –lt 3 (2<3)
 Echo $ ? (0  oui)
 Test 2 –gt 3
 Echo $ ? (1 non)
 [ 2 –gt 3 ] (Test = [ ])
 Echo $ ?
 [ -b /dev/sda1 ] (est ce que le périphérique est de type block)
 [ -z « »] (tester une chaine vide ou pas)
 [ -z « $PATH »]

1
2- Les expressions mathématiques
Expr 2 + 3

R=$((2 + 3))

Echo $r

3- Les compositions
- Séquentielle : cmd1 ; cmd2 (echo « bonjour » ;echo « à tous »
- Parallèle : cmd1 & cmd2 (cmd1 en arrière-plan)
- Sur erreur : || [ -x /bin/bash ] || echo « ok » (est ce que le fichier est
exécutable)
- Sur succès : &&( [ -x /bin/bash ] &&echo « ok »
4- Les alternatives si-sinon
If test then fi
Exemple :
gedit exo2.sh
# !/bin/bash
If [ $1 –lt 10 ]
Thenecho « plus petit à 10 »
Elseecho « plus grand à 10 »
Fi
Chmod +x exo2.sh
./exo2.sh 15

Avec elif : (else if)


gedit exo3.sh
# !/bin/bash
If [ $1 –lt 10 ]
Then echo « plus petit à 10 »
Elif [ $1 –lt 20 ]
Then echo « entre 10 et 20 »
Elif [ $1 –lt 30 ]
Then echo « entre 20 et 30 »
Else echo « plus grand à 30 »
Fi

2
Chmod +x exo3.sh
./exo3.sh 15

5-Case
gedit exo4.sh

# !/bin/bash

Case $1 in [0-9])

Echo « est un chiffre » ;;

[ a-Z])

Echo « est une lettre » ;;

*) echo « autre chose » ;;

Esac

Chmod +x exo4.sh

./exo4.sh 1 (ou a ou !)

5- La boucle : for
gedit exo5.sh
# !/bin/bash
For i in 1 2 3 Do echo $i done

gedit exo6.sh
# !/bin/bash
For ((i=1 ;i<=5 ;i++))
Do echo $i done

gedit exo7.sh
# !/bin/bash
For i in `seq 1 5` Do echo $i done

3
6- La boucle while

gedit exo8.sh
# !/bin/bash
I=0
While[ « $i » -lt 5 ]
Do echo $i
((i++))
done

7- Lecture depuis l’entrée standard


Read –p prompt [name]
Read –p « entrer une valeur : » mavariable
Toto
Echo $mavariable

gedit exo9.sh
# !/bin/bash
Mavar= « rien »
While[ -n « $mavar » ] //(-n : si une chaine n’est pas vide »
Do read –p « à afficher »mavar
Echo « $mavar »
done

8- Lancement d’un script (./ ou $PATH)


Ajouter le dossier contenant le script à la variable PATH
Exemple :
Mkdir bin
Mv exo9.sh bin/
PATH=$PATH:/home/user/bin
Echo $PATH (tapper ex9.sh + entrée : exo9.sh devient comme une
commande)
exo9.sh

4
9-Exit

gedit exo10. Sh
# !/bin/bash
Case $1 in
Start)
Echo « on démarre » ;;
Stop)
Echo « on arrête » ;;
*) exit 1 ;;
Esac
Exit 0 ;

Chmod +x exo10.sh
./exo10.sh start (echo $ ?)

gedit exo11. Sh
# !/bin/bash
[ $1 –lt 10 ] || exit 1
Echo « plus petit que 10 »
Exit 0

 Echo $ ?

gedit exo12. Sh
# !/bin/bash
nbr=0
while ((nbr!=53))
do
echo "Saisir 53 : "
read nbr
done
exit 0
./exo12.sh

Vous aimerez peut-être aussi