permanentemente armazenando um comando no bash history

0

Existe alguma maneira de armazenar um comando no histórico de bash permanentemente? O cenário atual é assim: -

Eu tenho um projeto em C e para configurar meu projeto, tenho que executar um comando muito longo que é muito difícil de lembrar. Uma vez configurado e construído, não preciso desse comando por quase um mês ou mais. Devido à exclusão automática de comandos antigos do histórico bash, da próxima vez que precisar desse comando, ele não estará lá no histórico.

Nota: não poste soluções como armazenar o comando em um arquivo de script e executar o script sempre que necessário.

    
por Ravi Gupta 22.02.2012 / 07:33

2 respostas

3

Você pode usar apenas o alias para essa finalidade. Para tornar seu alias permanente, você pode adicioná-lo ao seu arquivo ~/.bashrc . Por exemplo, se você adicionar alias list='ls -la' line, cada vez que você digitar o comando list no seu shell, o comando ls -la será realmente executado. Observe que, se você acabou de criar seu alias a partir da linha de comando sem colocá-lo no arquivo bashrc , esse alias se perderá sempre que você inserir novamente o shell.

    
por 22.02.2012 / 08:54
1

Para o seu problema principal, sugiro que você tenha um arquivo de texto com todos os seus comandos listados listados - como um bloco de anotações ou algo assim. Copie e cole quando necessário (como Barun como sugerido).

Se você realmente quiser fazer a pesquisa do histórico para esses comandos, você pode tentar adicionar à lista de seus comandos importantes apenas quando o bash sair. Algo nas linhas do seguinte (é bruto, estou usando para ilustrar):

Coloque os comandos que você não quer que o arquivo histórico esqueça em outro arquivo (digamos ~/fixed_hist ). Adicione o seguinte ao seu ~/.bashrc .

function prepend_fixed_history
{
        fixed_hist_c=$(wc -l ~/fixed_hist | awk '{print $1 }')
        head -${fixed_hist_c} ~/.bash_history | \
             diff - ~/fixed_hist >/dev/null 2>&1 
        if [ "$?" -ne "0" ]; then
           cat ~/fixed_hist ~/.bash_history > ~/.bash_history_new
           cp ~/.bash_history_new ~/.bash_history
        fi
}

trap prepend_fixed_history EXIT
    
por 22.02.2012 / 10:32