====== Le shell ======
Il s'agit d'un interpréteur de commandes accessible depuis une console ou un terminal. Il existe une multitude de //shells//, le plus connu étant [[http://tiswww.case.edu/php/chet/bash/bashtop.html|bash]] (il est installé par défaut sur toutes les distributions Linux).
===== Afficher un nombre aléatoire à partir d'un intervalle =====
Par exemple si notre intervalle est [1; 20] :
Sous les **BSD**, il existe un commande particulière ''jot''.
jot -r 1 1 20
Sous Linux, il n'existe pas de telle commande, on peut faire appel, par exemple, à [[http://fr.wikipedia.org/wiki/Awk|Awk]].
echo | awk 'srand() {print 1 + int(rand() * 20)}'
Dans le paquet [[http://www.gnu.org/software/coreutils/|coreutils]] (généralement installé par défaut sous Linux), il existe un utilitaire, qui s'appelle : ''shuf''.
Pour obtenir un nombre « aléatoire » qui appartient à notre intervalle, la commande est la suivante :
shuf - 1-20 -n 1
===== Configurer le Korn shell =====
Sous les BSD (NetBSD, FreeBSD, et OpenBSD) on trouve ce type de //shell//. Il n'est pas évident à le configurer (sous FreeBSD, je préfère utiliser le C-shell, du moins pour l'utilisateur root).
Tout (ou presque) doit être placé dans le fichier ''.profile''.
Par exemple, pour l'invite de commande (le prompt):
[...]
export PS1='\u@\h:\w\$ '
[...]
Pour l'utilisateur **root**, j'aime bien mettre cet invite en couleur (rouge de préférence), voici donc la ligne à mettre :
[...]
export PS1='^[[31m\u@\h:\w\$^[[0m '
[...]
En fait ''^['' s'écrit avec la séquence de touches **Ctrl** + **v** suivie de **Echap**.
Dans le fichier ''.kshrc'' on peut mettre tous les alias, etc. Pour que ce dernier soit lu au démarrage, il faut rajouter cette ligne dans le fichier ''.profile''.
[...]
export ENV=$HOME/.kshrc
Sous NetBSD, et OpenBSD, voici ce que je mets dans le fichier ''.kshrc'' :
# .kshrc
#
set -o emacs
alias ls='ls -F'
Pour prendre en compte immédiatement ces modifications, il suffit d'exécuter cette commande :
. ~/.profile