Table of Contents

Shell

Le shell ou invite de commande (command prompt) ou terminal virtuel est une interface en ligne de commande pour accéder à l'OS. Il permet d'exécuter les programme disponibles dans les répertoires listés dans la variable d'environnement path.

Shell commands

Astuces et explications du comportement de quelques utilitaires GNU Coreutils

Astuces

Un terminal récupère son entrée sur un fichier texte (stdin ou script). Il parse donc ce texte et agit en conséquence. Toutes les problématiques qui tournent autour du codage des caractères sont donc présentes.

Ctrl-H

Lors d'une connexion à distance sur un hôte UNIX en ksh depuis un client windows, par exemple, ce genre de problème peut se présenter.

Les backspace ou les déplacements via les touches flèches du clavier sont envoyés à l'hôte distant, mais pas forcément imprimés par le terminal client. Il s'en suit des comportement étranges:

Pour contourner ce problème, on peut par exemple configurer PuTTY pour gérer les backspace comme des Ctrl-H.

Debug

Activer l'affichage des données de debug du shell : set -xv. NB : les outputs de debug sortent sur stderr.

Astuce : changer la Prompt String : PS4=“—$(date +%T)> ”

Il est possible de mixer ce mode debug avec une redirection : exec 2> dump.txt 1>&2

Résumé :

PS4="---$(date +%T)> "
set -xv
exec 2> dump.txt 1>&2

Lister les plus gros fichiers

du -a /var | sort -n -r | head -n 10

Calculs arythémtiques

a=$(($b+$c))

Manipuler le (x)term

# Set window title
echo -ne "\033]2;"$m"\007"
# In mintty, set the mapping for ANSI colors
echo -ne '\e]4;4;#4965D6\a' # blue