domingo, 27 de junho de 2010

Aprimorando o Auto-Completar do Terminal (Tecla TAB do Linux)

Como sabemos, no Linux, UNIX, BSD (e qualquer sistema decente), o terminal em modo texto não é bobo: ele é capaz de auto-completar os comandos (geralmente digitando-se o início dos comandos e teclando-se a tecla TAB para que apareçam as sugestões e para que elas sejam utilizadas). Assim, o uso do terminal fica realmente fácil, rápido e prático: você digita apenas o início do nome de todos os comandos, pastas e arquivos, aperta TAB e pronto!! Tá lá o comando todinho magicamente!!
Acontece que (e talvez você não saiba disso!!) o teminal pode muito mais!! Ele pode aprender a auto-completar inclusive os parâmetros de comandos conhecidos, como o apt-get, por exemplo. Normalmente, em muitas distribuições estas opções vêem desligadas por padrão. Aqui aprenderemos a religá-las de maneira fácil e indolor.


  • Habilitando o Auto-Completar Interativo do Terminal

Antes de mais nada: é preciso ser root (Administrador) para executar os passos a seguir. Localize e edite o arquivo /etc/bash.bashrc:

vi /etc/bash.bashrc

Localize as linhas responsáveis pelo auto-complemento dos comandos e retire os sinais de comentários (as tralhas ou "joguinhos-da-velha" - "#"), para que elas possam ser executadas:

Está assim:
# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
#fi

Fica assim:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

(Somente a primeira linha permanecerá comentada, porque é realmente um comentário e não um trecho válido de programa)

É preciso que o arquivo /etc/bash_completion exista e não esteja vazio (não se preocupe, dificilmente ele não existirá, a menos que tenha sido retirado pelo administrador).


  • O Que Isso Faz??

Em poucas palavras: Quando você executa o Terminal ("Terminal", no Gnome; "Konsole", no KDE; ou mesmo o terminal em modo texto), o shell (/etc/bash) roda e abre uma seção para você. Este programinha é simples e eficiente, e faz várias coisas no curtíssimo espaço de tempo em que carrega, como: carregar as variáveis de ambiente, aliases, além de diversas personalizações que você pode ter a nível de usuário. Uma destas tarefas é ler e executar o script /etc/bash.bashrc. Nas linhas que modificamos, nós estamos indicando que o script deve executar um segundo script, encontrado em /etc/bash_completion. Este script é um programa enorme, com vários scripts próprios, e carrega todos os principais casos de auto-complemento interativo (inteligente).
Felizmente, está tudo pronto, basta você habitilitá-lo com o procedimento simples acima. Claro, se você é um programador de Shell Script que adora desafios, sinta-se livre para modificar estes scripts e torná-los ainda melhores!! Neste caso, não se esqueça de voltar aqui e nos avisar as maravilhas que fez!!!

Boa sorte, pessoal!!

Nenhum comentário: