Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
bash [Le 06/06/2021, 15:26] Amiralgaby corrections de fautes |
bash [Le 04/08/2023, 15:46] (Version actuelle) Amiralgaby [Création de scripts shell] ajout d'un lien interne vers le cours d'initiation au shell |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>shell BROUILLON}} | + | {{tag>shell Focal Bionic BROUILLON}} |
---- | ---- | ||
Ligne 12: | Ligne 12: | ||
===== Introduction / Utilisation ===== | ===== Introduction / Utilisation ===== | ||
- | Commencer par le [[tutoriel:script_shell|tutoriel d'introduction aux scripts shell]] | + | //Voir l'utilisation des [[commande_shell|commandes et lignes de commandes]] que les shells comme **bash** peuvent interpréter// |
===== Utilisation avancée ===== | ===== Utilisation avancée ===== | ||
- | ==== Tutoriel par lien externe ==== | + | ==== Création de scripts shell ==== |
- | * [[http://abs.traduc.org/abs-fr/|Guide avancé d'écriture des scripts Bash]] | + | * Commencer par le [[tutoriel:script_shell|tutoriel d'introduction aux scripts shell]] ou [[:projets:ecole:scripting:initiation_au_shell|Initiation au shell (cours fait par des Ubunteros)]] |
+ | * [[https://abs.traduc.org/abs-fr/|Guide avancé d'écriture des scripts Bash]] | ||
+ | | ||
==== Séparateur de mot ==== | ==== Séparateur de mot ==== | ||
L'IFS est le ou les caractères qui servent de séparateur. Voici un bout de code pour comprendre par l'exemple. | L'IFS est le ou les caractères qui servent de séparateur. Voici un bout de code pour comprendre par l'exemple. | ||
- | <code> | + | <code bash> |
phrase="plusieurs mots... | phrase="plusieurs mots... | ||
sur une ligne ?" | sur une ligne ?" | ||
Ligne 38: | Ligne 40: | ||
</code> | </code> | ||
- | Plus d'explication [[http://www.linuxquestions.org/questions/programming-9/bash-command-separatorarguments-separator-602542/#post2971876|en anglais]]. | + | //Pour plus d'explication, voir [[wpfr>Input_Field_Separators|IFS (Wikipédia)]]// **(fr)** |
==== Une meilleure gestion de l'historique ==== | ==== Une meilleure gestion de l'historique ==== | ||
Ligne 54: | Ligne 56: | ||
PROMPT_COMMAND='history -a'</code> | PROMPT_COMMAND='history -a'</code> | ||
- | =====Les fichiers de config BASH===== | + | ==== Fonctionnalité "push-line", édition d'une deuxième ligne puis revenir à la première ==== |
+ | |||
+ | La fonctionnalité ''push-line'' sert à éditer une deuxième ligne de code en effaçant la première que vous éditiez et en la gardant en mémoire pour pouvoir la restaurer après avoir exécuter la deuxième commande. | ||
+ | |||
+ | //Voir [[https://linuxfr.org/forums/programmation-shell/posts/recherche-d-une-fonctionnalite-zsh-bash#comment-1905228|Recherche d'une fonctionnalité zsh / bash]] réponse ''Ctrl+u'' puis ''Ctrl+y''// | ||
+ | |||
+ | =====Les fichiers de configuration BASH===== | ||
====~/.bashrc==== | ====~/.bashrc==== | ||
Ce fichier permet la configuration lors du lancement du programme bash. | Ce fichier permet la configuration lors du lancement du programme bash. | ||
- | petit plus vous pouvez enlever le nom d'hôte de la machine grâce à ce dernier : | + | Il est possible de personnaliser le prompteur : |
- | dans votre éditeur de texte préférer chercher "PS1" pour Prompt Shell 1. | + | dans votre éditeur de texte préférer chercher "PS1"((sigle de prompt shell 1)). |
Avec [[gedit]] vous pouvez faire //(Ctrl + F)// pour rechercher dans le fichier. | Avec [[gedit]] vous pouvez faire //(Ctrl + F)// pour rechercher dans le fichier. | ||
Ligne 65: | Ligne 73: | ||
<code bash>PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\$ '</code> | <code bash>PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\$ '</code> | ||
En supprimant **\h** (nom d'hôte) il n'y a plus le nom de votre ordinateur. | En supprimant **\h** (nom d'hôte) il n'y a plus le nom de votre ordinateur. | ||
- | En ajoutant **\n** (saut de ligne) avant le dollars le curseur ira sur une nouvelle ligne. | + | En ajoutant **\n** (saut de ligne) avant le dollar le curseur ira sur une nouvelle ligne. |
Il y a beaucoup plus de personnalisation possible mais ne nous étalons pas. | Il y a beaucoup plus de personnalisation possible mais ne nous étalons pas. | ||
====~/.bash_aliases==== | ====~/.bash_aliases==== | ||
+ | Ce fichier permet de séparer le script ''.bashrc'' des [[alias]]. | ||
Vous pouvez mettre des variables dedans qui seront chargées à chaque lancement de terminal. | Vous pouvez mettre des variables dedans qui seront chargées à chaque lancement de terminal. | ||
- | + | <note tip> | |
- | petit tips, vous pouvez mettre de la couleur dans les pages du man plutôt que d'avoir du blanc. | + | Vous pouvez mettre de la couleur dans les pages du man plutôt que d'avoir du blanc. |
- | [[https://blog.shevarezo.fr/post/2018/01/25/comment-avoir-couleurs-pages-man-linux|ce site vous dit comment faire]]. | + | [[https://blog.shevarezo.fr/post/2018/01/25/comment-avoir-couleurs-pages-man-linux|ce site vous dit comment faire]].\\ Plusieurs couleurs sont disponibles via l'utilisation de code couleurs : [[https://misc.flogisoft.com/bash/tip_colors_and_formatting|les choix de couleurs]]. |
- | [[https://misc.flogisoft.com/bash/tip_colors_and_formatting| faites vous plaisir avec les choix de couleurs]]. | + | </note> |
====~/.bash_history==== | ====~/.bash_history==== | ||
Hyper utile quand vous utilisez vos flèches pour rechercher une commande. | Hyper utile quand vous utilisez vos flèches pour rechercher une commande. | ||
Ligne 93: | Ligne 101: | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
* **(en)** [[https://www.gnu.org/software/bash/|site officiel de bash]] | * **(en)** [[https://www.gnu.org/software/bash/|site officiel de bash]] | ||
+ | * **(fr)** [[variables_d_environnement|Les variables d'environnement]] | ||
+ | * **(fr)** [[tutoriel:script_shell|Introduction aux scripts shell]] | ||
* **(fr)** [[wpfr>Bourne-Again_shell]] | * **(fr)** [[wpfr>Bourne-Again_shell]] | ||
+ | |||
---- | ---- | ||
- | //Contributeur(s) : [[utilisateurs:Id2ndR]]// | + | //Contributeur(s) : [[utilisateurs:Id2ndR]], [[:utilisateurs:Amiralgaby|Amiralgaby]]// |