Adicione isto ao seu .bashrc:
fc() {
command fc "$@"
history -s fc $@
}
Às vezes, estou usando o fc
incorporado em bash
(3.2, se isso importa), para recuperar comandos do histórico. Isso também oferece a possibilidade de editar, antes da execução.
Por exemplo, digitando
fc 23 27
Eu posso re-executar o comando 23 até o 27. Mas agora eu quero executar este comando fc 23 27
específico novamente. Como devo fazer isso? Parece que o fc
executado não está armazenado no histórico de comandos, embora as linhas recém-executadas sejam.
tente adicionar seu fc 23 27
ao histórico e volte a criá-lo mais tarde:
knoedel@section60:~> bash --version
GNU bash, version 4.2.42(1)-release (x86_64-suse-linux-gnu)
knoedel@section60:~> history -s "fc 4074 4076"
knoedel@section60:~> history | tail -n 2
4090 15/12/2013 11:31:23 > fc 4074 4076
4091 15/12/2013 11:31:25 > history | tail
knoedel@section60:~> fc -s 4090
, então fc -s 4090
na verdade executa fc 4074 4076
, mas apenas nesta sessão. Se você sair e fizer login novamente, os números do comando de histórico serão alterados. Pelo menos enquanto eu testava. (provavelmente quando BASH_HISTSIZE é atingido)
Para evitar a execução de comandos errados, sugiro salvar seus comandos do histórico em um shell script com fc -n -l id id > ~/bin/something.sh
Tags bash command-history