[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] shell et bash



> En tant que débutant, j'essaie de lire et de m'informer au maximum.
> Mais je suis pointilleux, et je veux comprendre ce que je lis !
> Ainsi, dans le fascicule "Premiers pas sous Linux" de Armand Delcros, je
> note la phrase suivante :"Le shell bash, comme les autre shells (korn
> shell, C shell) ...."
> Quelqu'un peut-il m'expliquer clairement et pratiquement ce que sont le
> shell et le bash.

oufti... courte question, longue réponse... ;)))

un shell... c'est un interpréteur...
Sous DOS, c'est le command.com, kwa... (quelle comparaison... ;))

Quand tu entres ton login et ton mot de passe, un shell est éxécuté.
Il attend de toi que tu tapes une commande qui est:
- un éxécutable
  p.ex. ls, cp, mv, mkdir, mount, ...

- une commande "built-in" (donc, une commande du shell)
  p.ex. for f in *; do ...
        alias l='ls -lFa'

Il y a plusieurs shells différents, qui se laissent regrouper en 2 familles:
- csh (c-shell), tcsh (tc-shell - si tu veux savoir pq "T", fais un man tcsh
  et va voir à la fin, c'est assez compliqué ;))
- sh, ksh, bash, zsh: la famille des "bourne"-shells
 
Ils se différencient par leur syntaxe; p.ex.:
--[ tcsh
  switch ($HOSTNAME)
     case sp01:
     case sp03:
       setenv LIBPATH "${LIBPATH}:/usr/lpp/db2/lib"
       breaksw
     case isis:
       setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/opt/tuxedo/lib"
       breaksw
   endsw

--[ ksh
  case $HOSTNAME in
     sp01|sp03) export LIBPATH="${LIBPATH}:/usr/lpp/db2/lib";;
     isis)      export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/tuxedo/lib";;
  esac

Tu vois... ;)
alors "bash" (Bourne Again SHell) est 99.9% (je dis pas 100% au cas où il y aurait
encore un chtit truc ;)) compatible avec la syntaxe ksh (korn shell) et est le shell
par défaut et de prédilection sous Linux. D'abord parce que le langage de script de
la famille bourne-shell est beaucoup plus simple et pratique (à mon sens) que celle
des c-shells, et qu'il offre beaucoup de possibilités de configuration (key bindings,
etc) et de "confort".

  -o)  Pascal Bleser        | UNIX *is* user friendly.
  /\\  C++/UNIX Development | It's just selective about
 _\_v  ATOS Payment Systems | who its friends are...
pbleser@atos-group.com---------------------------------
---------
This message was sent by Majordomo 1.94.3. Please repport problems to
manu@rtfm.be. If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.