Fichiers utiles : fichier .rhosts, fichier .forward.
Exemples de fichiers d'initialisation de session
Il peut être pratique d'obtenir, sur sa machine_locale (connue de la machine Ulam), une copie de tous les messages envoyés par les machines IDRIS à rlabxxx. Le fichier $HOME/.forward doit alors contenir la ligne suivante :
Sur la machine Ulam
Ulam-rlabxxx : cat $HOME/.forward rlabxxx@machine.connue.de.Ulam, rlabxxx
La procédure de login exécute d'abord le fichier /etc/profile qui définit, entre autres, les variables d'environnement propres à l'IDRIS. Elle exécute ensuite, les fichiers d'initialisation présents dans le répertoire HOME et propres à chaque utilisateur, .profile et .kshrc si ce dernier est indiqué dans la variable d'environnement ENV.
Exemple :
#exemple de fichier .profile
if tty -s (1)
then
MAILCHECK=10 (2)
export MAILCHECK
if ["$TERM"="" -o"$TERM"=su -o"$TERM"=dum b -o"$TERM"=network] (3)
then
TERM=vt100 (4)
echo 'term (vt100)? \c' (5)
read REPONSE
if [ "$REPONSE" != '' ]
then
TERM=$REPONSE
fi
export TERM (8)
if [ "$TERM" = xterm ]
then
eval `resize` (9)
fi
fi
set -o vi # une meilleure idée de mettre dans le fichier nommé par $ENV :
VISUAL=vi
stty erase '^H' (6)
stty kill '^?' (7)
export TERM
fi
export ENV=$HOME/.kshrc (10)
umask 027 (11)
pwd (12)
Remarque : le Korn shell reprend le Bourne shell en offrant plus de possiblités, entre autre celle de définir des alias. Pour définir un alias, on utilise la syntaxe suivante :
alias user_define_command='commande_unix'
Exemple :
alias ls='ls -aF'
Si cette ligne est présente dans le fichier .profile, toute frappe de la commande ls effectuera la commande ls -aF, c'est à dire qu'au lieu d'avoir la liste classique des répertoires on a, à la suite de chaque fichier, une indication du type de fichier ( * pour exécutable, / pour répertoire, ... avec l'option -F de ls), et les fichiers commençant par . (point) seront montrés (option -a de ls).
Une autre facilité du Korn shell qui présente un sérieux plus par rapport au Bourne shell est la possibilité de faire de l'édition de commandes, et le rappel des commandes précédemment passées en interactif (history). Pour utiliser cette facilité, on doit préciser quel éditeur on veut utiliser pour manipuler sa ligne de commande. On ajoute dans son fichier .profile la ligne : set -o vi. Dans l'exemple de fichier .profile ci-dessus, cette ligne est mise en commentaire pour que le fichier soit compatible avec le shell sh.
Ensuite, durant une session interactive, on pourra par exemple : visualiser les commandes précédemment tapées, choisir celle qui nous intéresse, la modifier, puis taper un retour charriot pour la faire exécuter :
Ulam-rlabxxx: history 65 ls -l 66 pwd 67 cd $HOME 68 cd $WORKDIR 69 cd 70 history Ulam-rlabxxx:
On tape alors (ESCAPE) pour rentrer dans le mode control de vi :
Le fichier .kshrc est propre à chaque utilisateur. Exemple :
VISUAL=vi alias ls = 'ls -aF' (1) alias rm='rm -i' (2)
En C-shell la procédure de login exécute d'abord le fichier :
Ce fichier définit, entre autres, les variables d'environnement propres à l'IDRIS. Elle exécute ensuite les fichiers propres à chaque utilisateur .cshrc et .login s'ils sont présents dans le répertoire HOME.
#exemple de fichier .login (1)
if ( { tty -s } ) then (2)
set mail=10 (3)
if ($term == 0) then (4)
set term=vt100 (5)
echo 'term (vt100) ?' (6)
set reponse=$< (7)
if ( "$reponse" != "" ) set term=$reponse (8)
unset reponse (9)
if ( "$term" == xterm ) eval `resize -c` (13)
else if ($term == su || $term == network) then (10)
set term=hds (5)
echo 'term (hds) ?' (6)
set reponse=$< (7)
if ( "$reponse" != "" ) set term=$reponse (8)
unset reponse (9)
endif
stty erase `^h' (11)
stty kill `^?' (12)
set filec (14)
endif
umask 027 (15)
En C-shell, le fichier .cshrc est propre à chaque utilisateur. Voici un exemple :
#exemple de fichier .cshrc alias ls 'ls -aF' (1) alias gw 'cd $WORKDIR' (2) set history=32 (3) set savehist=32 (4)