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

Bash Shell

Le document explique le fonctionnement des shells, en se concentrant sur Bash, qui est un shell populaire sous les systèmes Unix-like. Il décrit les différences entre les variables locales et d'environnement, ainsi que les concepts d'entrée, sortie et erreur standard. Enfin, il aborde l'exécution de commandes en parallèle dans un terminal Unix/Linux.

Transféré par

hajaruuy123
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)
37 vues5 pages

Bash Shell

Le document explique le fonctionnement des shells, en se concentrant sur Bash, qui est un shell populaire sous les systèmes Unix-like. Il décrit les différences entre les variables locales et d'environnement, ainsi que les concepts d'entrée, sortie et erreur standard. Enfin, il aborde l'exécution de commandes en parallèle dans un terminal Unix/Linux.

Transféré par

hajaruuy123
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

BASH

Un Shell (en français, "coquille") est un programme qui sert d'interface entre
l'utilisateur et le système d'exploitation. Il permet à l'utilisateur de donner
des commandes au système en ligne de commande et d'interagir avec le
noyau du système. Le Shell peut être utilisé pour exécuter des programmes,
manipuler des fichiers, automatiser des tâches, etc.

Il existe plusieurs types de shells qui diffèrent par leurs fonctionnalités, leur
syntaxe et leurs caractéristiques. Parmi les plus connus, on peut citer :

 Bash (Bourne Again Shell)


 Zsh (Z Shell)
 Tcsh (TENEX C Shell)
 Fish (Friendly Interactive Shell)
 Sh (Bourne Shell)
 Csh (C Shell)

Bash (Bourne Again Shell) est un Shell spécifique qui a été conçu pour
être compatible avec le Bourne Shell original (sh), tout en ajoutant de
nouvelles fonctionnalités et améliorations.

Il est l'un des Shells les plus utilisés sous les systèmes Unix-like (Linux,
macOS, etc.) et il est souvent le Shell par défaut sur de nombreuses
distributions Linux.

1- Variables locales vs variables d'environnement :

 Une variable locale est une variable définie dans le shell ou un script.
Elle est généralement valable uniquement dans le shell ou le processus
en cours.
 Une variable d'environnement est accessible à tous les processus
lancés par le shell, donc elle affecte l'ensemble de l'environnement
d'exécution. Pour la rendre accessible à d'autres processus, on utilise
la commande export.
VAR_NAME="value" # variable locale
export VAR_NAME="value" # variable d'environnement
2- L'entrée standard (stdin), sortie standard (stdout) et erreur
standard (stderr)

L'entrée standard est le flux de données par lequel un programme reçoit


des informations depuis l'extérieur, généralement de l'utilisateur ou d'un
fichier.

cat est un programme qui lit l'entrée standard et affiche son contenu.
si tu lances cat sans fichier en argument, il attendra des données depuis
l'entrée standard (ton clavier), et dès que tu appuies sur Ctrl+D (ou Ctrl+Z
sous Windows), il arrête de lire et affiche ce qu'il a reçu.

La sortie standard est le flux par lequel un programme envoie ses résultats
ou ses informations vers l'extérieur, généralement vers l'écran de
l'utilisateur, mais aussi potentiellement vers un fichier ou un autre
programme.

echo est un programme qui affiche son argument sur la sortie standard
(l'écran par défaut).
L'erreur standard est le flux par lequel un programme envoie ses
messages d'erreur, c'est-à-dire des informations sur des problèmes ou des
conditions anormales durant l'exécution du programme.

$ ls fichier_inexistant.txt 2> [Link]

Utilise 2> pour rediriger l'erreur standard vers un fichier. Le 2 fait référence
au flux stderr (car stdout est le flux 1).

$ ls abdnkjf > [Link] 2>&1

 Ce symbole > redirige (stdout) vers [Link].


 Si le fichier [Link] n'existe pas, il sera créé. Sinon, il sera écrasé.

 2 fait référence à l'erreur standard (stderr), c'est-à-dire le flux des


messages d'erreur.
 > est utilisé pour rediriger ce flux, donc 2>&1 signifie que le flux
d'erreur (stderr) est redirigé vers le même endroit que la sortie
standard (stdout).
 &1 signifie "vers le flux 1", où 1 fait référence à la sortie standard. Cela
indique que l'erreur générée par la commande ls doit être envoyée
dans le même fichier que la sortie standard.
Pipe "|" : brancher la sortie standard d'une commande à l'entrée standard
d'une autre commande

3- Exécution en parallèle

Le caractère & dans un terminal Unix/Linux (comme Bash) est utilisé pour
exécuter une commande en arrière-plan. Cela signifie que la commande
s'exécute de manière asynchrone et ne bloque pas le terminal.

Vous aimerez peut-être aussi