Todas as respostas aqui, até onde eu sei, não são portáteis. Para uma opção portátil, considere o POSIX garantido fc
:
$ man fc
-E editor Use o editor nomeado pelo editor para editar os comandos. A string do editor é um nome de utilitário, sujeito a pesquisa através davariável PATH ... O valor navariável FCEDIT deve ser usado como padrão quando −e não for especificado. Se FCEDIT for nulo ou não definido , ed será usado como editor.
−l (A letra ell.) Liste os comandos em vez de chamar um editor neles. Os comandos devem ser escritos na sequência indicada pelo primeiro e último operandos, conforme afetados por -r , com cada comando precedido pelo número do comando.
-N Suprime os números de comando ao listar com -l .
-R Inverte a ordem dos comandos listados (com -l ) ou editados (com nem -l nem -s ) .
−s Execute novamente o comando sem chamar um editor.
OPERANDO
primeiro , último
Selecione os comandos para listar ou editar. O número de comandos anteriores que podem ser acessados deve ser determinado pelo valor davariável HISTSIZE . O valor do primeiro ou do último ou de ambos deve ser um dos seguintes:
[+ or-] number
Um número positivo (ou negativo ) que representa um número de comando; os números de comando podem ser exibidos com aopção -l ... Por exemplo, -1 é o comando imediatamente anterior ...
Quando a opção -l é usada para listar comandos, o formato de cada comando na lista deve ser o seguinte:
"%d\t%s\n", <line number>, <command>
Se as opções -l e -n forem especificadas, o formato de cada comando será:
"\t%s\n", <command>
Se o consiste em mais de uma linha, as linhas após a primeira devem ser exibidas como:
"\t%s\n", <continued-command>
Mas certifique-se de usar -l ou -e se você SOMENTE deseja ver / editar seus comandos. Por padrão fc
, abrirá a lista de comandos solicitada no FCEDIT (observe que é diferente da sua variável de ambiente EDITOR ) e, quando o FCEDIT terminar , fc
executará os comandos editados.
De qualquer forma, especificamente a resposta a esta pergunta pode ser:
% fc -l -1
Ou sem números de linha:
% fc -ln -1
Ou os últimos cinco comandos na ordem inversa:
% fc -lrn -1 -5
No seu pager:
% fc -lrn -1 -5 |$PAGER
Para sua última chamada para fc
:
% fc -l fc