Pour autant que je sache, chaque réponse ici n'est pas portable. Pour une option portable, considérez la garantie POSIX fc
:
$ man fc
−e éditeur Utilisez l'éditeur nommé par l' éditeur pour modifier les commandes. La chaîne de l'éditeur est un nom d'utilitaire, sujet à recherche via lavariable PATH ... La valeur de lavariable FCEDIT doit être utilisée par défaut lorsque −e n'est pas spécifié. Si FCEDIT est nul ou non défini , ed doit être utilisé comme éditeur.
−l (La lettre ell.) Liste les commandes plutôt que d'appeler un éditeur dessus. Les commandes doivent être écrites dans l'ordre indiqué par le premier et le dernier opérande, tel qu'affecté par −r , chaque commande étant précédée du numéro de commande.
−n Supprime les numéros de commande lors de l'inscription avec −l .
−r Inverse l'ordre des commandes listées (avec −l ) ou éditées (avec ni −l ni −s ) .
−s Réexécutez la commande sans appeler un éditeur.
OPERANDES
premier , dernier
Sélectionnez les commandes à répertorier ou à modifier. Le nombre de commandes précédentes accessibles est déterminé par la valeur de lavariable HISTSIZE . La valeur du premier ou du dernier ou des deux doit être l'une des suivantes:
[+ ou-] nombre
Un nombre positif (ou négatif ) représentant un numéro de commande; les numéros de commande peuvent être affichés avec l'option −l ... Par exemple, −1 est la commande immédiatement précédente ...
Lorsque l' option −l est utilisée pour lister les commandes, le format de chaque commande dans la liste doit être le suivant:
"%d\t%s\n", <line number>, <command>
Si les options −l et −n sont spécifiées, le format de chaque commande doit être:
"\t%s\n", <command>
Si la se compose de plusieurs lignes, les lignes après la première doivent être affichées comme suit:
"\t%s\n", <continued-command>
Mais assurez-vous d'utiliser -l ou -e si vous voulez UNIQUEMENT voir / modifier vos commandes. Par défaut fc
, la liste de commandes demandée dans FCEDIT sera ouverte (notez qu'elle est distincte de votre variable d'environnement EDITOR ) et, lorsque FCEDIT se fermera , fc
exécutera les commandes modifiées.
Quoi qu'il en soit, la réponse à cette question pourrait être:
% fc -l -1
Ou sans numéro de ligne:
% fc -ln -1
Ou les cinq dernières commandes dans l'ordre inverse:
% fc -lrn -1 -5
Dans votre téléavertisseur:
% fc -lrn -1 -5 |$PAGER
Pour votre dernier appel à fc
:
% fc -l fc