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:30] 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 ====== | ||
- | ===== 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 : | ||
- | set -x | ||
- | |||
- | Pour le faire sur une partie du script uniquement : | ||
- | set -x | ||
- | <instruction> | ||
- | set +x | ||
===== Variables ===== | ===== Variables ===== | ||
Ligne 79: | 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 277: | 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 |