Outils pour utilisateurs

Outils du site


snippet:shells

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 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, à Awk.

echo | awk 'srand() {print 1 + int(rand() * 20)}'

Dans le paquet 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
snippet/shells.txt · Dernière modification : le 11-06-2014 à 14h51 de olivier

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki