0% ont trouvé ce document utile (0 vote)
20 vues21 pages

Cours 6

Le document présente une introduction à l'utilisation du shell Bash, couvrant des sujets tels que l'édition de la ligne de commande, les variables shell et d'environnement, ainsi que l'expansion de la ligne de commande. Il aborde également la création et l'exécution de scripts shell, ainsi que les différences entre les shells login et non-login. Enfin, il décrit les scripts de démarrage et de déconnexion associés aux sessions shell.

Transféré par

Anis Amara
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)
20 vues21 pages

Cours 6

Le document présente une introduction à l'utilisation du shell Bash, couvrant des sujets tels que l'édition de la ligne de commande, les variables shell et d'environnement, ainsi que l'expansion de la ligne de commande. Il aborde également la création et l'exécution de scripts shell, ainsi que les différences entre les shells login et non-login. Enfin, il décrit les scripts de démarrage et de déconnexion associés aux sessions shell.

Transféré par

Anis Amara
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

Utilisation du shell Bash

Dr. Yahia Benmoussa


[email protected]
Plan


Édition de la ligne de commande

Les variables shell

Les variables d'environnement

Expansion de la ligne de commande

Les scripts
Édition de la ligne de commande


Ctrl-a → déplacement au début de la ligne de commande

Ctrl-e → déplacement à la fin de la ligne de commande

Ctrl-u → suppression jusqu'au début de la ligne de
commande

Ctrl-k → suppression jusqu'à la fin de la ligne de
commande

Ctrl-flèche → Déplacent mot par mot
Les variables shell


Utilisées pour stocker des valeurs ou des sortie de
commandes

Initialiser une variable
– NOM_VARIABLE=VALEUR

Référencer une variable
– $NOM_VARIABLE

Ex.
– MESSAGE= Bonjour
– echo $MESSAGE
Les variables d'environnement


Les variable bash sont locales
– Initialisé avec NOM_VARIABLE=VALEUR

Les variable d'environnement sont globale
– Initialisé avec export NOM_VARIABLE=VALEUR
– Hérité par tous les processus fils du shell
Les variables d'environnement (II)


Exemples :
– Variable de configuration

PATH

HISTFILESIZE
– Variable d'information

HOME

BASH

EUID
Alias


Les alias permettent de créer un raccourcis vers des
commandes
– alias setip='sudo ifconfig eth0 192.168.0.1'

alias (sans aucun arguments) → lister tous les alias
Expansion de la ligne de commande


Bash offre la possibilité d'écrire des
commandes de façon compacte.

Expansion de la ligne de commande →
substitution d'une partie de la ligne de
commande (écrite de façon compacte) par une
autre.
Expansion de la ligne de commande


Types d'expansion
– Métacaractères (noms de fichier)
– Tilde (~)
– Substitution de commandes
– Alias
– Variables
– Arithmétique
Expansion des métacaractères


Appliquée aux noms de fichiers
– * → zéro ou plusieurs caractère
– ? → un caractère quelconque
– [0-9] → un nombre dans l'intervalle
– [abc] → un caractère présent dans la liste
– [^abc] - un caractère absent de la liste
Tilde ( ~ )


~ → répertoire personnel

~X → répertoire personnel de l'utilisateur X
Substitution de commande


$(commande) ↔ `commande`
– Ex.

chgrp $(id -g) file.txt

chgrp `id -g` file.txt
Expansion d'accolades


Appliqué a des nom de fichier

Éviter de réécrire les chaînes de caractères répétitives.
– Ex.

touch file{1,2,3}.txt ↔ touch file1.txt file2.txt file3.txt

Différence avec expansion des caractères spéciaux → Les
noms de fichiers peuvent ne pas pas exister.
Désactivation des expansion


Backslash (\)
– Ex.
ls file\*.txt


echo \$HOME

Quottes
– ' ' → désactive toutes les expansions
– '' '' → désactive toutes les expansions sauf :

Expansion de variables

Substitution de commandes ``

Les scripts shell


Les scripts shell sont des fichiers textes qui contiennent
des commandes à exécuter

Les scripts sont utiles pour
– Automatiser des tâche
– Exécuter des tâche d'administration
– Manipulation des fichier texte.
Création d'un script bash


Créer d'un fichier contenant des commande
– La première ligne doit être #!/bin/bash
– Les ligne précédées par # sont des commentaires

Rendre le fichier script exécutable
– Ex. chmod u+x myscript.sh

L'exécution d'un script se fait en spécifiant le chemin
absolue ou un chemin relatif vers le fichiers de ce script.
Shell login vs non-login


Les shell login
– Les shell créé à la connextion
– Commande su -

Les shell non-login
– Exécution de scripts
– Commande su
Script d’initialisation


Exécutés avant l'exécution su shell

Deux types de script de démarrage
Script de démarrage pour les login shell


Enregistré dans
– /etc/profile (global)
– ~/.bash_profile (utilisateur)

Utilisé pour :
– Initialiser les variable d’environnement
– Exécution des commandes.
Script de démarrage pour tous les shell


Enregistré dans
– /etc/bashrc (global)
– ~/.bashrc (user)

Exécuté pour tous les shel

Utilisé pour
– Initialisation de variables locale
– Définition des alias
Script de déconnection


Enregistré dans in ~/.bash_logout (user)

Exécuté quand un login-shell se termine

Utilisé pour :
– Création des sauvegardes
– Suppression des fichier temporaire

Vous aimerez peut-être aussi