Dans ksh:
Dans mon .profile, j'ai défini le var suivant (donc ce var n'est défini qu'une seule fois par session, peu importe le nombre de 'su' que je fais:
PCH=\>
Dans mon .kshrc j'ai:
if let "${SPID:-0} != $$"; then
PCHS="$PCHS$PCH"
fi
Je deviens root avec l'alias suivant, plutôt que "su" (kroot est un utilisateur root avec un shell ksh au lieu de sh (solaris) ou bash (linux):
alias root='PCH=\# su -m kroot'
alias me="PCH=\> su -m $USER"
J'ai également défini ces deux fonctions:
function lprompt {
PS1=$HOST' $? $PWD '"$PCHS "
}
function sprompt {
PS1='$?":"${PWD##*/}'"$PCHS "
}
et enfin à la fin du .kshrc j'ai:
lprompt
Tout cela me donne par défaut un réglage automatique de la fin de mon invite pour indiquer si je suis root (et à mon tour si j'ai un parent root), le répertoire de travail actuel, le nom d'hôte et l'état de sortie du dernier processus. sprompt supprime le nom d'hôte, réduit le chemin d'accès uniquement au nom de base et supprime les espaces:
g3 0 /home/jj33 > expr 1 / 0
expr: division by zero
g3 2 /home/jj33 > expr 1 / 1
1
g3 0 /home/jj33 > root
Password:
g3 0 /home/jj33 ># me
g3 0 /home/jj33 >#> ^D
g3 0 /home/jj33 ># sprompt
0:jj33># me
g3 0 /home/jj33 >#> sprompt
0:jj33>#>expr 1 / 0
expr: division by zero
2:jj33>#>
Les alias root / me sont bourne de l'administration pré-sudo sur Solaris et les vieilles habitudes sont mortes. Je doute que quiconque appliquerait exactement la même chose de nos jours. Les fonctions de changement rapide et le statut existant continuent d'être très précieux pour moi.