Aide mémoire Bash

Quelques éléments de Bash que j'utilise de temps à autre mais que parfois j'oublie. Cet article ne remplacera jamais le manuel de Bash.

Bash possède beaucoup d'éléments intéressants, beaucoup sont méconnus.

La lecture de son manuel est fastidieuse mais très intéressante. Cet article n'a pas vocation à le remplacer, juste à noter les éléments que je suis susceptible d'utiliser de temps à autre.

Variables magiques

$_ : Expansion du dernier argument de la dernière commande.

Exemple :

mkdir pouet/foo/bar
cd $_

touch pouet/foo/bar/fichier.txt
vim $_

Interactif

Ctrl+T : échanger de position 2 caractères ; celui sous le curseur avec le précédent.

Ctrl+X puis Ctrl+E : ouvrir l'éditeur (utilise la variable $EDITOR), et à la sortie, exécuter la commande puis supprimer le fichier temporaire.

Gestion des Jobs

^Z : stoppe un job et l'envoie en arrière plan

jobs : Renvoie la liste des jobs en arrière plan avec le statut un ID et parfois un tag :

[1]+  Stopped                 man bash
[2]   Stopped                 python
[3]-  Stopped                 vim

fg [id] : ramène le job [id] au premier plan. Si non spécifié, le dernier passé en arrière plan est ramené. Il est possible d'écrire %<id> (qui est un alias de fg <id>).

%+ et %- peuvent aussi être utilisés, et relanceront le job indiqué par ce caractère (dans la liste des jobs).

Remarque : ce tag change de job en fonction de l'ordre de pause / relance des jobs.

Tester des flux réseau

/dev/tcp/nom ou IP/port ou /dev/udp/nom ou IP/port. Article dédié ici.