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 | ||
|
informatique:linux:bash [2009/05/14 15:27] benoit |
informatique:linux:bash [2019/01/29 14:03] (Version actuelle) benoit [Fonction pour afficher des messages en couleur] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== BASH ====== | ====== BASH ====== | ||
| - | |||
| - | ===== Configurer le prompt ===== | ||
| - | Pour avoir des couleurs sur le prompt de bash, éditer le fichier $HOME/.bashrc puis ajouter par exemple la ligne suivante | ||
| - | |||
| - | PS1='\e[1;34m[ \e[0m\u @ \e[1;34m\h\e[0m \e[1;40m\w\e[0m\e[1;34m ]\n\$\e[0m ' | ||
| - | |||
| - | Modifier les "34m" "40m" etc... pour changer de couleur | ||
| - | |||
| - | Pour le monochrome : | ||
| - | PS1='\[[ \u@\h \w \]]\n\$ ' | ||
| - | |||
| - | ===== Pour afficher des couleurs plus lisibles dans la console ===== | ||
| - | |||
| - | Pour éviter les couleurs illisibles lorsque l'on lance la commande ''ls'' ajouter la ligne suivante dans ''/etc/bashrc'' | ||
| - | unset LS_COLORS | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| ===== Variables ===== | ===== Variables ===== | ||
| Ligne 74: | Ligne 50: | ||
| defaut | defaut | ||
| - | ===== historique des commandes ===== | ||
| - | Pour configurer l'historique des commandes préfixé de la date : | ||
| - | Définir la variable **HISTTIMEFORMAT** ainsi dans un fichier de profile. Par exemple : | ||
| - | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> /etc/profile.d/history.sh | ||
| - | chmod +x /etc/profile.d/history.sh | ||
| - | |||
| - | ou sous Debian : | ||
| - | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> /etc/profile | ||
| - | |||
| - | ou bien pour un seul utilisateur : | ||
| - | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> $HOME/.bashrc | ||
| - | |||
| - | Pour connaître l'historique des commandes, taper : | ||
| - | history | ||
| Ligne 272: | Ligne 234: | ||
| + | ===== Quelques astuces ===== | ||
| + | ==== Configurer le prompt ==== | ||
| + | Pour avoir des couleurs sur le prompt de bash, éditer le fichier $HOME/.bashrc puis ajouter par exemple la ligne suivante | ||
| + | PS1='\e[1;34m[ \e[0m\u @ \e[1;34m\h\e[0m \e[1;40m\w\e[0m\e[1;34m ]\n\$\e[0m ' | ||
| + | |||
| + | Modifier les "34m" "40m" etc... pour changer de couleur | ||
| + | |||
| + | Pour le monochrome : | ||
| + | PS1='\[[ \u@\h \w \]]\n\$ ' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Pour afficher des couleurs plus lisibles dans la console ==== | ||
| + | |||
| + | Pour éviter les couleurs illisibles lorsque l'on lance la commande ''ls'' ajouter la ligne suivante dans ''/etc/bashrc'' | ||
| + | unset LS_COLORS | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Pour débugger un script Shell ==== | ||
| + | En début de script insérer la commande suivante pour le rendre verbeux : | ||
| + | set -x | ||
| + | |||
| + | Pour le faire sur une partie du script uniquement : | ||
| + | set -x | ||
| + | <instruction> | ||
| + | set +x | ||
| + | |||
| + | ==== Fonction pour afficher des messages en couleur ==== | ||
| + | |||
| + | # Affiche un message en rouge | ||
| + | echo_red() { | ||
| + | echo $(printf '\033[%sm%s\033[m\n' "31" $1) | ||
| + | } | ||
| + | # Affiche un message en vert | ||
| + | echo_green() { | ||
| + | echo $(printf '\033[%sm%s\033[m\n' "32" $1) | ||
| + | } | ||
| + | | ||
| + | # Utiliser les fonctions echo_red ou echo_green selon la couleur voulue a la place du echo | ||
| + | echo_red "Error" | ||
| + | echo_green "OK" | ||
| + | |||
| + | ==== Historique des commandes ==== | ||
| + | Pour configurer l'historique des commandes préfixé de la date : | ||
| + | |||
| + | Définir la variable **HISTTIMEFORMAT** ainsi dans un fichier de profile. Par exemple : | ||
| + | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> /etc/profile.d/history.sh | ||
| + | chmod +x /etc/profile.d/history.sh | ||
| + | |||
| + | ou sous Debian : | ||
| + | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> /etc/profile | ||
| + | |||
| + | ou bien pour un seul utilisateur : | ||
| + | echo "HISTTIMEFORMAT='%d/%m/%Y %H:%M '" >> $HOME/.bashrc | ||
| + | |||
| + | Pour connaître l'historique des commandes, taper : | ||
| + | history | ||