De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Bash - Salvar o último comando executado em arquivo executável

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 14 de fevereiro de 2012

Muitas vezes executamos scripts diretamente a partir da linha de comando. Caso queiramos salvar os comandos executados em um arquivo, contendo tudo que foi feito, podemos fazer da seguinte forma:

O script de exemplo:

  while read email
  do
   /usr/lib/sendmail  $email < /etc/msg.txt
  done < lista.txt

O comando para salvar o script:

  echo "!!"  > script.sh

E o resultado:

  while read email; do  /usr/sbin/sendmail   < /tmp/msg.txt; done < lista.txt

A diretiva "!!", digitada por si só, repete o último comando. Em nosso exemplo, com o comando echo, o comando não é executado, mas simplesmente direcionado para o arquivo script.sh.

Mas não precisamos nos limitar ao último comando, podemos fazer isto com qualquer dos comandos contidos no histórico da seção. Basta consultar o histórico e selecionar o que desejamos:

  % history
  1  sudo  mount /dev/sdg1 /media/disk
  2  df
  3  cd docs
  4  ls
  5  cd 8s
  6  ls
  7  cd Extras/
  8  ls

Para salvar o que foi digitado no primeiro comando:

  echo "!1" > script.sh

Referência: Make that last command into a Linux script

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida