Execute novamente o comando fc do histórico

7

À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.

    
por Bernhard 09.12.2013 / 15:57

2 respostas

5

Adicione isto ao seu .bashrc:

fc() {
    command fc "$@"
    history -s fc $@
}
    
por 14.12.2013 / 16:52
0

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

    
por 15.12.2013 / 11:50