Objetivo:
Colocar um texto com uma dica (ou qualquer outro lembrete), para ser mostrado toda vez que o usuário logar na máquina pelo console-terminal, ou abrir um terminal (
Gnome-terminal,
Xterm, etc).
Precisando aprender algo, como inglês, fórmulas matemáticas, etc, mas você está muito ocupado usando seu terminal para digitar seus comandinhos em shell?, então vamos unir o agradável ao necessário :-). Vamos mostrar uma dica toda vez que alguém logar no terminal, ou abrir-lo quando estiver usando a interface gráfica (
Gnome,
KDE, etc).
Elegendo uma necessidade:
Para este artigo usarei um pequeno exemplo com comandos do Shell, mas você pode usar algo mais interessante como piadas de Português :-)
Criando o Conteúdo:
Definido o tema das dicas, ou vários, vamos criar um arquivo para cada um deles e salvar em um diretório específico. Para efeito de teste usei a lista abaixo, que contém alguns comandos básicos do shell:
- ls - listagem de diretórios;
- cp - copia arquivos;
- mv - mover/renomear arquivos;
- rm - deletar arquivos;
- mkdir - cria diretórios.
Ok, crie o diretório:
mkdir /home/seu_usuario/dicas
Dentro deste diretório salve um arquivo texto para cada dica que queira, exemplo:
Abra o
Gedit (ou outro editor como
Vi,
Nano, etc) e crie o conteúdo abaixo:
Salve com o nome que quiser (salvei com o nome ls.txt), mas deixe dentro do diretório /home/seu_usuario/dicas.
Siga o mesmo passo para as demais dicas, abra o editor de texto e crie o conteúdo abaixo:
Salve com o nome que quiser (salvei com o nome cp.txt), deixe dentro do diretório /home/seu_usuario/dicas/.
Obs.: só coloque arquivos de texto nesse diretório. Não crie outros diretórios dentro dele.
Siga o mesmo passo para as demais dicas...
Fazendo o script e finalizando
Fazendo o script:
Abra seu editor de texto favorito e cole o script abaixo:
#!/bin/bash
# ls → lista os arquivos do diretório, um arquivo por linha e wc -l → conta a qtd de linhas
QTD_LINHAS=$(ls -1 /home/seu_usuario/dicas/ | wc -l)
# sorteia um número aleatório limitado à quantidade de arquivos do diretório de dicas
LINHA=$[RANDOM%$QTD_LINHAS+1]
# lista novamente os arquivos, e recupera o nome do arquivo na linha sorteada
ARQ=$(ls -1 /home/seu_usuario/dicas/ | tail -n $LINHA | head -n 1)
# ler o arquivo da dica e mostra na tela
cat "/home/seu_usuario/msg/$ARQ"
#.EOF
Obs.: faça as adaptações necessárias, trocando o 'seu_usuario' pelo SEU USUÁRIO. Entendeu, né? :-)
Salve o arquivo, fora do diretório /home/seu_usuario/msg, neste exemplo vou salvá-lo em /home/seu_usuario/ com o nome de exec_dicas.sh.
Depois precisamos permitir a execução deste script:
chmod +x /home/seu_usuario/exec_dicas.sh
Pronto, temos nosso script, se quiser testar e ver suas dicas:
cd /home/seu_usuario
$ ./exec_dicas.sh
Rodando a dica ao logar:
Bom, apenas com o que foi feito anteriormente, nosso objetivo ainda não foi atendido, mas vamos já resolver isso. Precisamos colocar a referência para nosso script ser executado num lugar que sempre é executado quando logamos no bash terminal, e esse arquivo é o bash.bashrc, que no
Debian fica localizado em '/etc/bash.bashrc'.
Ok, como ele está fora do contexto do usuário, precisamos usar os poderes do root para alterar seu conteúdo, então:
sudo nano /etc/bash.bashrc
Agora vamos ao final do arquivo e registraremos a chamada para nosso script:
#executa uma dica, cada vez que o bash terminal inicia
/home/seu_usuario/exec_dicas.sh
Faça um teste, abra um terminal:
Conclusão
Como disse o Aurélio Marinho Jargas É viciante aprender shell e comecei a me viciar há algumas semanas, ao mesmo tempo precisei decorar uns comandinhos então fiz um script desses para mim, onde cada vez que abro meu terminal recebo uma dica de um comandinho em shell :-)
Serve para diversos tipos de dicas, basta criar o seu arquivo texto e salvar no diretório que criamos com essa finalidade. Use sua criatividade serve pra qualquer dica (texto) que você queira mostrar ao logar no seu terminal, de forma aleatória, até mesmo piadas.