![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Le fichier $HOME/.kshrc est un shell script qui personnalise l'environnement du Korn-shell. Il contient des variables d'environnement, des alias de commandes et des fonctions qui vont personnaliser l'environnement de l'utilisateur.
Chaque fois que vous demarrez une nouvelle instance d'un korn shell, ksh examine la valeur de la variable ENV qui a éventuellement été mise dans le fichier .profile. Si le fichier sur lequel pointe cette variable est exécutable, il l'execute. Par convention, le nom du fichier est .kshrc, mais vous pouvez choisir le nom que vous voulez. Par contre ce fichier ne doit pas afficher de sortie (pas de echo,print ou call), ni appeler des scripts qui en font.
Voici un exemple de fichier .kshrc definissant des alias et en particulier la commande cls, ainsi qu'une fonction calc permettant de faire des opérations.
On remarquera aussi un systeme de mémorisation des repertoires à l'aide d'une pile.
#-------------------------------------------------------- # functions to implement a simple manual directory stack #-------------------------------------------------------- dirindex=0 push() { dirindex=$((dirindex+1)) dirstack[$dirindex]=$PWD } pop() { if [ $dirindex -eq 0 ] then echo stack empty else cd ${dirstack[$dirindex]} dirindex=$((dirindex-1)) fi } dirs() { n=dirindex+1 while (( (n=n-1) > 0 )) do echo "$n -> ${dirstack[$n]} " done } go() { if [[ $1 -gt 0 && $1 -le $dirindex ]] then cd ${dirstack[$1]} fi } dirsave() { echo "" > $HOME/.dirs n=dirindex+1 while (( (n=n-1) > 0 )) do echo "${dirstack[$n]}" >> $HOME/.dirs done } dirload() { dirindex=0 cat $HOME/.dirs |while read i do dirindex=$((dirindex+1)) dirstack[$dirindex]=$i done } dirdel() { n=$1 while (( (n=n+1) < dirindex )) do dirstack[$n-1]=${dirstack[$n]} done unset dirstack[$dirindex] dirindex=$dirindex-1 } dirclear () { n=dirindex+1 while (( (n=n-1) > 0 )) do unset dirstack[$n] done dirindex=0 }