Seu shell é a parte mais importante do seu ambiente de trabalho. O shell é o que interpreta os comandos que você digita na linha de comando e, assim, se comunica com o restante do sistema operacional. Você também pode escrever scripts de shell, que consiste em uma série de comandos para serem executados sem intervenção.
Dois shells vem instalados com o FreeBSD: csh
e sh
. csh
é bom para trabalhos na linha de comando, mas scripts devem ser escritos com o sh
(ou bash
). Você pode descobrir qual shell você utiliza executando o comando echo $SHELL
.
O csh
é bom, mas o tcsh
faz tudo que o csh
faz e ainda mais. Ele permite recuperar comandos com as teclas de seta e editá-los. Ele permite usar a tecla tab para completar o nome dos arquivos (o csh
usa a tecla Esc), e permite alternar o diretório em que você estava por último com o comando cd -
. E também é muito mais fácil alterar o seu prompt com o tcsh
. Ele tornará sua vida muito mais fácil.
Aqui estão os dois passos para instalar um novo shell:
Instale o shell como um port ou um pacote, como faria com qualquer outro port ou pacote.
Use o comando chsh
para alterar permanentemente seu shell para tcsh
, ou digite tcsh
no prompt para alterar seu shell sem precisar efetuar login novamente.
Pode ser perigoso alterar o shell do usuário root
para outro diferente do sh
ou csh
nas primeiras versões do FreeBSD e também em muitas outras versões do UNIX®; talvez você não tenha um shell funcional quando o sistema entrar em modo de single user. A solução é usar su -m
para se tornar root
, o que lhe dará o tcsh
como root
, por que o shell faz parte do ambiente. Você pode tornar isso permanente adicionando-o ao seu arquivo .tcshrc
como um alias, para isso, execute:
alias su su -m
Quando o tcsh
é iniciado, ele lê os arquivos /etc/csh.cshrc
e /etc/csh.login
, assim como o csh
. Ele também lerá o arquivo .login
no seu diretório home e também o arquivo .cshrc
, a menos que você forneça um arquivo .tcshrc
. Você pode fazer isso simplesmente copiando o .cshrc
para .tcshrc
.
Agora que você instalou o tcsh
, você pode ajustar o seu prompt. Você pode encontrar os detalhes na página de manual do tcsh
, mas aqui está uma linha para colocar em seu .tcshrc
que informará quantos comandos você digitou, qual o horário atual, e em qual diretório você está. Ele também produz um >
se você for um usuário comum e #
se você for root
,mas o tcsh fará isso em qualquer caso:
set prompt = "%h %t %~ %# "
Isso deve ir no mesmo lugar em que está a linha de prompt atual caso exista uma, ou logo abaixo de "if($?prompt) then" caso ela não exista. Comente a linha antiga; você sempre pode voltar a ela se preferir. Não esqueça os espaços e as aspas. Você pode forçar a releitura do .tcshrc
digitando source .tcshrc
.
Você pode obter uma listagem de outras variáveis de ambiente que estão configuradas digitando env
no prompt. O resultado mostrará seu editor padrão, pager e tipo de terminal, entre possivelmente muitas outras variáveis. Um comando útil se você efetuar o seu login a partir de um local remoto e não puder executar um programa porque o terminal não é capaz de fazê-lo é o setenv TERM vt100
.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.