Para os novatos em FreeBSD e UNIX®
Anterior |  | Próxima

# 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`.

Anterior | Principal | Próxima
Próximos Passos |  | Outros

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>.