Présenté par :
TSHITENGE KALEU LIONEL
TSHIKASA SOMPO KEVINE
Le shell n’est pas qu’un simple interpréteur de
commandes, mais dispose d’un véritable langage de
programmation avec notamment une gestion des
variables, des tests et des boucles, des opérations sur
les variables(utilisateur, système et spéciales), des
fonctions…
Toutes les instructions et commandes sont
regroupées au sein d’un script. Lors de son
exécution, chaque ligne sera lue une à une et
exécutée.
Une ligne peut se composer de commandes
internes ou externes. Plusieurs instructions par
lignes sont possible, s éparées par le « ; » ou liées
conditionnellement par « && » ou « || ». Le « ; » est
l’équivalent d’un saut de ligne.
Nous pouvons créer un nouveau script en utilisant la
commande « nano [Link] ».
Par convention les shell scripts se terminent
généralement (pas obligatoirement) par « .sh » pour le
Bourne Shell et le Bourne Again Shell, par « .ksh » pour
le Korn Shell et par « .csh » pour le C Shell.
La première ligne a une importance particulière car elle
permet de préciser quel shell va exécuter le script
#!/usr/bin/sh
#!/usr/bin/ksh
Une commande peut être interne ou externe. Une
commande interne est une commande directement
incluse et interprétée par le shell, sans passer par un
quelconque exécutable.
Un exemple est la commande cd.
Une commande externe est un exécutable que le shell
recherchera dans une liste de chemins prédéfinis, le
PATH, puis exécutera en tant que processus fils.
Quand un script est lancé, un nouveau shell « fils » est
créé qui va exécuter chacune des commandes. Si c'est
une commande interne, elle est directement exécutée
par le nouveau shell.
Si c'est une commande externe, un nouveau fils sera créé
pour l'exécuter, dans le cas d'un shell script un nouveau
shell fils est lancé pour lire ce nouveau shell ligne à
ligne.
La Crontab
Le mécanisme cron permet l'exécution régulière et
automatique de commandes. A chaque démarrage de la
machine (en fait suivant le niveau d'init) un service
(daemon) est lancé,
Tous les utilisateurs n'ont pas forcément le droit d'utiliser
la crontab ([Link] et [Link]). La commande
crontab permet d'accéder et de modifier les données de
la table.
#!/bin/bash fonctiondetest(){ echo "Ma première fonction" }
#!/bin/bash for (( count=10; count>0; count-- )) ;do; echo -n
"$count " ;done
#!/bin/bash
addition(){
sum=$(($1+$2))
return $sum
}
read -p "Entrez un numéro : " int1
read -p "Entrez un numéro : " int2
add $int1 $int2
echo "Le résultat est : " $?
• Livre : ABC des systèmes d’exploitations
• [Link]
creez-des-scripts-qui-prennent-en-compte-des-
arguments
• Pdf : Cours shell unix