você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

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



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