Outils pour utilisateurs

Outils du site


informatique:linux:bash

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
informatique:linux:bash [2009/05/14 15:14]
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 30: Ligne 6:
   * Pour afficher le PID du dernier processus lancé en tâche de fond : **echo $!**   * Pour afficher le PID du dernier processus lancé en tâche de fond : **echo $!**
   * Pour afficher le code retour de la dernière commande: **echo $?**   * Pour afficher le code retour de la dernière commande: **echo $?**
 +
  
  
Ligne 37: Ligne 14:
   * Pour afficher le premier argument du script : **echo $1**, le second : **echo $2** etc...   * Pour afficher le premier argument du script : **echo $1**, le second : **echo $2** etc...
   * Pour afficher tous les arguments : **echo $@**   * Pour afficher tous les arguments : **echo $@**
 +  * Pour afficher le nombre de paramètres : **echo $#**
 +
 +
 +
  
 ==== Expansion des variables ==== ==== Expansion des variables ====
Ligne 53: Ligne 34:
   user@host# echo ${VAR%ble}   user@host# echo ${VAR%ble}
   mavaria   mavaria
 +
 +Pour effacer tout ce qui est derrière "​**:​**"​ :
 +  user@host# VAR=user:​password
 +  user@host# echo ${VAR%:*}
 +  user
 +
 +Pour effacer tout ce qui est devant "​**:​**"​ :
 +  user@host# VAR=user:​password
 +  user@host# echo ${VAR#*:}
 +  password
  
 Définir une valeur par défaut à **VAR** en cas d'​absence de valeur. Si **VAR=""​** alors **VAR=defaut** : Définir une valeur par défaut à **VAR** en cas d'​absence de valeur. Si **VAR=""​** alors **VAR=defaut** :
   user@host# VAR=   user@host# VAR=
   user@host# echo ${VAR:​=defaut}   user@host# echo ${VAR:​=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 257: 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
informatique/linux/bash.1242306862.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)