Shell = interpréteur de cmdes

1 xterm  Û  1 shell

 

Cmdes 

·  cmdes internes : pas de création de processus

Ex : cd

·  cmdes externes : création d'un processus

Ex : ls

·  alias

Ex : ll

 

Configuration du shell

·  par des fichiers de configuration

Ex : en ksh : .profile

·  par des variables système prédéfinies = variables d'environnement (path = chemin d'accès)

Rq : ces variables sont toujours des ch. de car

 

Korn Shell (ksh) = langage du shell

 

Rq : en shell, par défaut tout en ch. de car.

 

Alias

 

* root définit les alias pour tout le monde dans

/etc/profile  (fichier de config ksh)

 

* alias personnels

alias [-x] nom_alias = '……..'

® alias valide dans l'xterm

Rq : pour un alias valide dans toutes les xterm : mettre dans .profile

unalias nom_alias

 

Variables shell

 

Script = prog. écrit en shell

 

Variables du shell = uniqt ch. de car

·  variables d'environmt : dans l'envt de l'utilisateur

o       variables std : définies par le système (nom et rôle fixés, en MAJ)

o       variables utilisateur

·  variables locales :

o       locales au script

o       locales au shell courant (xterm – mode ligne)

 

env Þ liste des variables d'envt

set Þ liste des variables locales + var envt

echo $nom-var  Þ affiche le contenu de nom-var

export nom-var  Þ exporte la variable dans toute la hiérarchie fille

 

Variables std

 

 

modifiable ?

HOME

répertoire de réfce

oui, mais déconseillé

LOGNAME

login

non

USER

DISPLAY

adresse IP (réseau) du TX

oui

PATH

chemin d'accès aux exécutables

PS1

invite

PWD

répertoire courant

SHELL

nom de l'exécutable shell lancé

TERM

type de terminal utilisé

$

dernier n° de processus

 

!

de n° de ps lancé en background

 

?

code retour

 

 

nom-var=chaînedecar Þ affecte val à la variable

Attn : pas d'espaces !!

unset nom-var  Þ supprime la variable

let var=chaine  Þ var reçoit l'opé arithmétique contenue dans chaine

 

date Þ donne la date courante

 

Délimiteurs

 

'    ' Þ neutralise tous les car spéciaux

"    "  Þ neutralise tout sauf   "   `   \   $

`cde ` Þ déclenche la cde (capture la sortie std)

 

Processus

 

ps Þ liste des ps du terminal

 

ps –u$USER  Þ liste des ps de l'utilisateur

 

ps –oclo1,col2,col3 Þ  liste des ps ac les colonnes dans l'ordre

 

ps –e  Þ liste des ps de la machine

 

CTRL-C

CTRL-\  

kill –9 num_ps  

kill –KILL num_ps

Þ tue le ps