Convertendo um histórico para um script?

4

Muitas vezes eu digitei um monte de comandos quando percebi que eu vou continuar digitando-os e que eu realmente gostaria de um script.

Agora eu entendo que não importa como eu salve minha história, vou ter que editá-la para limpar as coisas, mas gostaria de ouvir sugestões sobre como salvar meu histórico para que ele esteja próximo de um script útil.

    
por HandyGandy 27.02.2012 / 12:56

4 respostas

3

Se você digitar history no shell, verá uma lista de comandos recentes. Você pode ver isso em um script por history > my_script ou algo assim (ou apenas copiá-lo do arquivo ~ / .bash_history).

Do arquivo my_script você pode remover os comandos desnecessários, adicionar a linha shebang, normalmente #!/bin/bash , e torná-la executável chmod +x my_script e pronto.

    
por 27.02.2012 / 13:35
3

A maneira como eu abordaria isso é:

history -a - adicionar novas linhas ao arquivo de histórico

ctrl-x, ctrl-e - abre um editor para fazer um script rápido (no vi, para mim)

:r ~/.bash_history | tail -n 20 - leia nos últimos 20 comandos do arquivo de histórico.

    
por 27.02.2012 / 13:34
1

Uma abordagem bash one liner:

history | tail -20 |cut -c 8- > newscript.txt;  chmod 777 newscript.txt    

Se você adicionar shebang, poderá criar um script.

    
por 20.04.2017 / 22:02
0

Uma abordagem diferente poderia ser usar um editor com uma linguagem de macro.

  • Importar um monte de linhas com recortar e colar
  • Filtre a saída dos comandos usando o grepping para o seu prompt
  • Remover o prompt do começo das linhas
  • insira um shebang no início do arquivo

Um aviso significativo ajudará a fazer isso funcionar na maioria dos casos. Para tamanhos de sessão de mais de algumas páginas de tela, não será muito confortável.

    
por 27.02.2012 / 13:59