Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:15]
Amiralgaby [Une meilleure gestion de l'historique]
bash [Le 01/12/2024, 14:09] (Version actuelle)
Amiralgaby tag brouillon et bionic enlevé. La page n'est plus en état de brouillon
Ligne 1: Ligne 1:
-{{tag>​shell ​BROUILLON}}+{{tag>​shell ​Jammy}}
  
 ---- ----
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 53: Ligne 55:
 shopt -s histappend shopt -s histappend
 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 + R pour rechercher dans le fichier. +
-remplacer la première occurrence ou toute occurrences par par exemple cela: +
-  PS1='​${debian_chroot:​+($debian_chroot)}\[\033[01;​32m\]\u@\[\033[00m\]:​\[\033[01;​34m\]\w\[\033[00m\]\n\$ ' +
-ici j'ai uniquement enlever **\h** pour le nom d'​hôte et rajouter **\n** avant le dollard pour avoir le curseur sur une autre ligne. +
-Il y a beaucoup plus de personnalisation possible mais ne nous étalons pas.+
  
-====~/.bash_aliases===+Avec [[gedit]] vous pouvez faire //(Ctrl + F)// pour rechercher dans le fichier. 
-Lui il est sympa, vous pouvez mettre des variables dedans qui seront chargé à chaque terminal +remplacer la première occurrence ou toutes occurrences par cela: 
-sympa quand vous voulez par exemple raccourcir un nom de domaine+<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 ajoutant **\n** (saut de ligne) avant le dollar le curseur ira sur une nouvelle ligne.
  
-petit tips, vous pouvez mettre ​de la couleur dans les pages du man plutôt que d'​avoir du blanc. +Il y a beaucoup plus de personnalisation possible mais ne nous étalons pas.
-[[https://​blog.shevarezo.fr/​post/​2018/​01/​25/​comment-avoir-couleurs-pages-man-linux|ce site vous dit comment faire]]. +
-[[https://​misc.flogisoft.com/​bash/​tip_colors_and_formatting| faites vous plaisir avec les choix de couleurs]].+
  
 +====~/​.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.
 +<note tip>
 +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]].\\ Plusieurs couleurs sont disponibles via l'​utilisation de code couleurs : [[https://​misc.flogisoft.com/​bash/​tip_colors_and_formatting|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 79: Ligne 90:
  
 Pour rechercher bien plus rapidement utilisez (Ctrl+R) dans le terminal puis entrez la chaîne cherchée. //Utilisez plusieurs fois (Ctrl + r) et non pas les flèches pour remonter les commandes qui match//. Pour rechercher bien plus rapidement utilisez (Ctrl+R) dans le terminal puis entrez la chaîne cherchée. //Utilisez plusieurs fois (Ctrl + r) et non pas les flèches pour remonter les commandes qui match//.
 +
 ====~/​.profile==== ====~/​.profile====
 Comme indiqué dans le fichier il n'est lu que si ''​~/​.bash_profile''​ ou ''​~/​.bash_login''​ n'​existe pas. Comme indiqué dans le fichier il n'est lu que si ''​~/​.bash_profile''​ ou ''​~/​.bash_login''​ n'​existe pas.
Ligne 86: Ligne 98:
   mkdir ~/bin   mkdir ~/bin
 et d'y mettre vos programmes et d'y mettre vos programmes
 +
 ===== 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]]//
  • bash.1622985350.txt.gz
  • Dernière modification: Le 06/06/2021, 15:15
  • par Amiralgaby