Existem várias camadas nas quais você pode solicitar o último comando.
Editor de linha
O editor de linha (onde você digita seus comandos) é fornecido diretamente pelo ksh, pela linha de leitura da biblioteca no bash e pela biblioteca zle no zsh. Outros shells, como o dash, podem não ter uma biblioteca de edição para entender essas chaves (a menos que compiladas com a --with-libedit
opção ativada).
Este trabalho em ksh, bash, zsh:
Ctrl- P# Modo Emacs (anterior)
Ctrl- N# Modo Emacs (próximo)
ESC- k # vi modo ESC para ir para o modo de comando ek para cima
ESC- j # vi modo ESC para ir para o modo de comando ej para baixo
história
O sistema de histórico fornecido por muitos shells permite a expansão de alguns atalhos:
!! # bash and zsh, may be provided by `alias \!\!='fc -e -'` in ksh.
!-1 # bash and zsh only
comandos
Existem alguns comandos capazes de recuperar comandos do histórico.
Como o comando bastante detalhado (apenas para imprimir):
history 2 | head -n-1
ou o comando mais antigo e, portanto, geralmente mais portátil fc
(reexecuta diretamente):
fc -e - -1
Ou talvez o mais simples fc -s -1
, mas o zsh não aceita essa opção para fc.
Se você quiser apenas imprimir o comando, use: fc -nl -1 -1
.
Para editar, definido FCEDIT
para um editor de texto (ex, ed, emacs, vi, etc.) e usar fc diretamente: fc -1
.