9. Seu Ambiente de Trabalho

Seu shell é uma parte muito importante do seu ambiente de trabalho. No DOS, o shell usual é o command.com. O shell é quem interpreta os comandos que você executa na linha de comando, e, portanto, se comunica com o resto do sistema operacional. Você também pode escrever shell scripts, que são como arquivos de lotes do DOS: uma série de comando para serem executados sem sua intervenção.

O FreeBSD vem com dois shells instalados: csh e sh. csh é bom para trabalhar com a linha de comando, mas scripts devem ser escritos com sh (ou bash). Você pode descobrir qual shell você está utilizando executando echo $SHELL.

O shell csh é bom, mas tcsh faz tudo que o csh faz e mais. Ele aceita que você chame novamente os comandos, com as setas do teclado, e edite-os. Ele completa nomes de arquivos através da tecla TAB (csh usa a tecla Esc), e ele permite que você mude para seu último diretório com cd -. É muito fácil alternar seu prompt com tcsh. Ele torna sua vida muito fácil.

Aqui estão os passos para a instalação de um novo shell:

  1. Instale o shell a partir de um port ou pacote, como você faria para qualquer outro port ou pacote. Use rehash e which tcsh (assumindo que você instalou o tcsh) para ter certeza que ele foi instalado.

  2. Como root, edite o /etc/shells, adicionando uma linha no arquivo para o novo shell, nesse caso /usr/local/bin/tcsh, e salve o arquivo. (Alguns ports vão fazer isso por você.)

  3. Use o comando chsh para mudar seu shell para o tcsh permanentemente, ou execute tcsh no prompt para mudar seu shell sem precisar realizar o login novamente.

Nota:

Pode ser perigoso mudar o shell do root para qualquer coisa diferente de sh ou csh nas versões anteriores do FreeBSD e em muitas outras versões do UNIX®; você pode não ter um shell funcional quando o sistema colocar você em modo monousuário. A solução é usar su -m para tornar-se root, o que lhe dará o tcsh como root, pois o shell é parte do seu ambiente. Você pode tornar isso permanente adicionando para seu arquivo .tcshrc um alias com:

alias su su -m

Quando tcsh inicia, ele lê os arquivos /etc/csh.cshrc e /etc/csh.login, assim como o csh. Ele também irá ler o arquivo .login em seu diretório home e o arquivo .cshrc, a menos que você providencie um arquivo .tcshrc. Para isso você pode simplesmente copiar o .cshrc para .tcshrc.

Agora que você já instalou o tcsh, você pode ajustar o seu prompt. Você encontra os detalhes na página de manual do tcsh, mas aqui está uma linha para você incluir em seu .tcshrc que vai lhe dizer quantos comandos você digitou, que horas são, e em que diretório você se encontra. Ele também mostra um > se você está como um usuário comum e um # se você está como root, mas tcsh vai fazer isso em qualquer caso:

set prompt = "%h %t %~ %# "

Isso deve ser incluído no mesmo lugar do set prompt existente, ou sob "if($?prompt) then" se este não existir. Comente a linha antiga; você poderá voltar para o prompt antigo se preferir. Não esqueça o espaço e as aspas. Você pode recarregar o .tcshrc executando source .tcshrc.

Você pode obter uma lista de outras variáveis de ambiente que foram definidas executando env no prompt. O resultado vai lhe mostrar seu editor padrão, paginador, e o tipo de terminal, e possivelmente muitos outros. Um comando útil se você está logado remotamente e não pode executar um programa, pois o terminal não é compatível, é setenv TERM vt100.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.

Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.