Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 | ||
doc:programmation:bash:config [02/03/2014 15:20] captnfab |
doc:programmation:bash:config [16/08/2023 01:05] (Version actuelle) Switch [Configuration utilisateur] ajout image exemple prompt coloré |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Comprendre à quoi servent les différentes configurations de bash | * Objet : Comprendre à quoi servent les différentes configurations de bash | ||
- | * Niveau requis : {{tag>débutant}} | + | * Niveau requis : {{tag>débutant avisé}} |
* Commentaires : //Bash possède bon nombre d'options et de fichiers de configurations. Comment comprendre tout ça ?// | * Commentaires : //Bash possède bon nombre d'options et de fichiers de configurations. Comment comprendre tout ça ?// | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>à-tester}} | + | * Suivi : {{tag>à-compléter à-tester}} |
- | * Création par : **devpsp** 18/08/2010 15:05 | + | * Création par : [[user>devpsp]] le 18/08/2010 15:05 |
* Testé par : | * Testé par : | ||
- | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=2867 | ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=12294 | ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
+ | |||
+ | **Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Les scripts de configuration ===== | ===== Les scripts de configuration ===== | ||
Ligne 21: | Ligne 23: | ||
* ''.bash_profile'' ou ''.bash_login'' ou ''.profile'' | * ''.bash_profile'' ou ''.bash_login'' ou ''.profile'' | ||
+ | |||
* ''.bashrc'' | * ''.bashrc'' | ||
+ | |||
* ''.bash_logout'' | * ''.bash_logout'' | ||
+ | |||
* ''.bash_history'' | * ''.bash_history'' | ||
- | Au lancement d'un shell de login (par exemple via ssh ou dans un tty), **bash** interprète le fichier ''/etc/profile'' s'il existe, puis le fichier ''~/.bash_profile''. S'il ne trouve pas ce dernier, il essaye d'interpréter le fichier ''~/.bash_login'', et à défaut tente le fichier ''~/.profile''. | + | Au lancement d'un shell de login (par exemple via ssh ou dans un tty), **bash** interprète le fichier ''/etc/profile'' s'il existe, puis le fichier ''~/.bash_profile''. |
+ | |||
+ | S'il ne trouve pas ce dernier, il essaye d'interpréter le fichier ''~/.bash_login'', et à défaut tente le fichier ''~/.profile''. | ||
- | Il est possible de simmuler un shell de login en tapant | + | Il est possible de simuler un shell de login en tapant |
<code user>bash -l</code> | <code user>bash -l</code> | ||
Ligne 100: | Ligne 107: | ||
Ces scripts ne concernent que l'utilisateur dans le dossier personnel duquel ils se trouvent. | Ces scripts ne concernent que l'utilisateur dans le dossier personnel duquel ils se trouvent. | ||
Ce sont des fichiers cachés, leur nom débute avec un point. | Ce sont des fichiers cachés, leur nom débute avec un point. | ||
+ | |||
+ | Mais si vous utilisez simplement [[:doc:systeme:ls |la commande "ls"]] ainsi : | ||
+ | <code user>ls</code> | ||
+ | Vous obtenez : | ||
+ | <file config retour de la commande> | ||
+ | 2010-02-26--10.13.22 fstab phpmyadmin.png | ||
+ | caisse_060810.ods gparted1.png resilier-sfr | ||
+ | commande_sed1.txt liste-mail RMLL_2.m4v | ||
+ | commande_sed2.txt konversation scripts_user | ||
+ | debian-504-i386-netinst.iso listecamera_site site_agen_100806.ods | ||
+ | debian-facile-le-magazine.pdf liste_site.ods site_agen_100809.ods | ||
+ | default | ||
+ | .../...</file> | ||
+ | |||
+ | Ce sont vos fichiers simples présents dans votre //home//. \\ | ||
+ | Mais avec son option ''-l'' ainsi : | ||
+ | <code user>ls -a</code> | ||
+ | vous verrez en plus __tous les fichiers cachés__ : | ||
+ | <file config retour de la commande> | ||
+ | . .gnome2_private nfs-df.odt | ||
+ | .. .gnupg .openoffice.org | ||
+ | 2010-02-26--10.13.22 gparted1.png .openoffice.org2 | ||
+ | .aptitude .gstreamer-0.10 out.ogv | ||
+ | .../...</file> | ||
==== ~/.bash_profile, ~/.bash_login et ~/.profile ==== | ==== ~/.bash_profile, ~/.bash_login et ~/.profile ==== | ||
Ligne 127: | Ligne 158: | ||
=== Uniquement pour le mode interactif === | === Uniquement pour le mode interactif === | ||
- | Il commence bas vérifier qu'il est bien lancé par un utilisateur et non interpréteur d'un script((via #!/bin/bash)). Il s'arrête si ça n'est pas le cas. | + | Il commence par vérifier qu'il est bien lancé par un utilisateur et non interpréteur d'un script((via #!/bin/bash)). Il s'arrête si ça n'est pas le cas. |
<code bash ~/.bashrc>case $- in | <code bash ~/.bashrc>case $- in | ||
*i*) ;; | *i*) ;; | ||
Ligne 144: | Ligne 175: | ||
=== Taille du terminal === | === Taille du terminal === | ||
Il met à jour la les variables d'environnement de taille du terminal: | Il met à jour la les variables d'environnement de taille du terminal: | ||
- | <file bash ~/.bashrc>shopt -s checkwinsize</code> | + | <file bash ~/.bashrc>shopt -s checkwinsize</file> |
=== Chroot === | === Chroot === | ||
Ligne 178: | Ligne 209: | ||
fi | fi | ||
unset color_prompt force_color_prompt</file> | unset color_prompt force_color_prompt</file> | ||
+ | |||
+ | <note tip>Il est possible de configurer son prompt avec des éléments et des couleurs de votre choix. Il suffit de configurer la variable $PS1 vous même dans votre fichier de configuration .bashrc. Exemple :<file config nom> | ||
+ | PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$' | ||
+ | </file> {{/file-R71cdd53a1ad2a7e72584f602d833b88e.png}} [[https://www.howtogeek.com/307701/how-to-customize-and-colorize-your-bash-prompt/|Article détaillant les codes couleurs et éléments possibles]] , ou un générateur de prompt en ligne, pratique : [[https://ezprompt.net/|https://ezprompt.net/]] </note> | ||
+ | |||
=== Titre du terminal === | === Titre du terminal === | ||
Ligne 189: | Ligne 225: | ||
;; | ;; | ||
esac</file> | esac</file> | ||
+ | |||
+ | |||
+ | |||
=== Alias === | === Alias === | ||
Ligne 222: | Ligne 261: | ||
=== Autocomplétion === | === Autocomplétion === | ||
- | Bash tente enfin de charger l'autocomplétion si elle est disponible et souhaitable : | + | Bash tente enfin de charger [[:doc:programmation:bash:autocompletion|l'autocomplétion]] si elle est disponible et souhaitable : |
<file bash ~/.bashrc>if ! shopt -oq posix; then | <file bash ~/.bashrc>if ! shopt -oq posix; then | ||
if [ -f /usr/share/bash-completion/bash_completion ]; then | if [ -f /usr/share/bash-completion/bash_completion ]; then | ||
Ligne 242: | Ligne 281: | ||
Contient tout [[:doc:programmation:bash:history]|l'historique des commandes]] que vous avez saisies. | Contient tout [[:doc:programmation:bash:history]|l'historique des commandes]] que vous avez saisies. | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | * [[doc:programmation:shells:debuter-avec-les-scripts-shell-bash | Apprendre à rédiger des scripts sous bash]] |