Shell

De system.co.free.fr.

Sommaire

SHELL

Connexion en BASH

Le shell de connexion est lancé après la saisie du login et du mot de passe sur la console. C’est celui indiqué à la fin de chaque ligne de /etc/passwd.
Dans ce mode, le shell va tenter d'executer les fichiers dans cet ordre et s'ils sont presents :

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

À la déconnexion, il tente d’exécuter :

  • ~/.bash_logout

Shell simple

Le shell interactif simple correspond à l’exécution du bash dans une fenêtre (xterm, konsole), une console ou à la main (taper bash dans une console). Dans ce cas seul le fichier suivant sera exécuté s’il existe :

  • ~/.bashrc

Notez que dans beaucoup de distributions Linux, le .bashrc est appelé soit par .bash_profile, soit par /etc/profile, et que la configuration est donc placée dans .bash_profile qui sera alors toujours appelé.

commande echo et nouvelle ligne ( new ligne \n )

Sur les versions récentes des Shell en Linux et pour certains autre Unix, la commande

 echo "\n\n\n\n   toto  \n\n\n"

renvoi

 \n\n\n\n   toto  \n\n\n

et ce n'est peut-être pas ce qui est attendu. On prefererais avoir:

 
  
  
      toto
  
  

c'est a dire un retour a la ligne ou avec \t une tabulation, ou un caractère spécial avec les autres option commençant par "\" ( \a \b \c\f \n \r \t \v ... )

l'origine est lié au nouvelles versions de la norme POSIX.

echo -e

printf

POSIX et IEEE recommande d'utiliser <g>printf a la place de echo. La commande printf accepte de nombreuses options. voir man printf

BASH uniquement: shopt -s xpg_echo

Active

 #shopt -s xpg_echo # Active xpg_echo
 #echo "Hello\nworld"
 Hello
 world

Desactive

 #shopt -u xpg_echo # Desactive xpg_echo
 #echo "Hello\nworld"
 #Hello\nworld
Outils personnels