0% ont trouvé ce document utile (0 vote)
95 vues7 pages

Script Shell

Transféré par

oroukobizime
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
95 vues7 pages

Script Shell

Transféré par

oroukobizime
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 PDF, TXT ou lisez en ligne sur Scribd

COMMENT ECRIRE UN SCRIPT SHELL SUR LINUX

1. Comprendre les bases du Shell


Qu'est-ce qu'un script Shell ?
 Explication :
Un script Shell est un programme écrit en ligne de commande pour
automatiser des tâches répétitives sur un système Linux.
Par exemple : au lieu de taper à la main une série de commandes pour
sauvegarder des fichiers, un script peut le faire automatiquement.
Terminal et commandes de base
 Commandes de base :
o ls : Liste les fichiers et dossiers.
o cd : Change de répertoire.
o pwd : A iche le répertoire courant.
o cp : Copie des fichiers.
o mv : Déplace ou renomme des fichiers.
o À quoi ça sert ? : Comprendre ces commandes est essentiel, car les
scripts Shell automatisent ces actions.
Permissions
 chmod et chown :
o chmod : Change les permissions d'un fichier (lecture, écriture,
exécution).
o chown : Change le propriétaire d’un fichier.
o Utilité : Rendre un script exécutable ou configurer les accès des
utilisateurs.

2. Les bases des scripts Shell


Création d’un script
 Comment faire ?
1. Écrivez vos commandes dans un fichier (par ex. script.sh).
2. Ajoutez la ligne #!/bin/bash en haut du fichier : c’est une "shebang"
qui indique quel interpréteur utiliser (ici, Bash).
3. Rendez le script exécutable : chmod +x script.sh.
4. Exécutez avec ./script.sh.
 Pourquoi ? : Cela permet d'exécuter plusieurs commandes
automatiquement sans les retaper dans le terminal.

Les variables
 Explication : Une variable est un conteneur qui stocke une valeur (texte,
nombre, etc.). Exemple :

nom="Linux"
echo "Bonjour, $nom !"

Ici, $nom est remplacé par la valeur "Linux".


 Utilité :
o Simplifie la manipulation des données.
o Réutilise des valeurs sans répétition.
 Variables système courantes :
o $HOME : Chemin vers le répertoire personnel de l'utilisateur.
o $USER : Nom de l'utilisateur actuel.
o $PATH : Liste des chemins où chercher des commandes.

3. Les structures de contrôle


Les conditions
 Structure if :
if [ condition ]; then
# code si la condition est vraie
else
# code si la condition est fausse

Exemple :

if [ -f fichier.txt ]; then
echo "Le fichier existe."
else
echo "Le fichier n'existe pas."

o -f fichier.txt vérifie si le fichier existe.


 À quoi ça sert ? Les conditions permettent de prendre des décisions dans
le script, comme exécuter une commande uniquement si un fichier est
présent.
Les boucles
 Structure for :

for i in {1..5}; do
echo "Compteur : $i"
done

o Explication : Répète une tâche pour chaque valeur (ici, de 1 à 5).


 Structure while :

compteur=1
[ $compteur -le 5 ]; do
echo "Compteur : $compteur"
((compteur++))
done

o Explication : Répète une tâche tant qu'une condition est vraie.


 Pourquoi c'est utile ?
Les boucles permettent d’automatiser des tâches répétitives, comme
traiter chaque ligne d’un fichier ou parcourir des répertoires.

4. Gestion des fonctions


 Qu’est-ce qu’une fonction ?
Une fonction regroupe des commandes dans un bloc que vous pouvez
appeler plusieurs fois.
 Exemple :

saluer() {
echo "Bonjour, $1 !"
}

 saluer "Jean" # Appel de la fonction avec l'argument "Jean"


o $1 est le premier argument passé à la fonction.
 Utilité :
o Réduit les répétitions de code.
o Simplifie les scripts complexes.

5. Automatisation et manipulation avancée


Manipuler des fichiers et des dossiers
 Lire un fichier ligne par ligne :

while read ligne; do


echo "$ligne"
done < fichier.txt

o Pourquoi ? : C’est utile pour traiter automatiquement le contenu d’un


fichier.
Redirections et pipes
 Redirections :
o > : Redirige la sortie vers un fichier (écrase le contenu).
o >> : Redirige la sortie vers un fichier (ajoute au contenu existant).
 Pipes :
o | : Envoie la sortie d'une commande comme entrée d'une autre.
o Exemple :
ls | grep ".txt"
Liste uniquement les fichiers .txt.
 À quoi ça sert ?
Traitez les données directement dans le script sans devoir modifier
manuellement les fichiers.

6. Débogage et optimisation
Déboguer un script
 Ajoutez set -x en début de script ou exécutez avec bash -x script.sh.
 Cela a iche chaque commande exécutée, utile pour repérer les erreurs.
Optimisation
 Utilisez des commandes puissantes comme awk, sed, et grep pour
analyser et manipuler les données.

7. Scripts avancés et projets


Interaction avec l’utilisateur
 Demandez des entrées utilisateur avec read :
 read -p "Entrez votre nom : " nom
 echo "Bonjour, $nom !"
Cron et automatisation
 Cron : Planifiez l’exécution d’un script à intervalles réguliers.
o Exemple : sauvegarder vos fichiers chaque jour.

Conclusion
Chaque élément d’un script Shell a pour but d’automatiser des tâches ou de
manipuler e icacement le système Linux.

Vous aimerez peut-être aussi