bash

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa


Bash
Bash screenshot.png
Bash em execução
Desenvolvedor Chet Ramey (Projecto GNU)
Versão estável 4.1 (31 de dezembro de 2009; há 255 semanas e 1 dia)
Sistema operacional Multi plataforma (POSIX)
Gênero(s) Shell
Licença GPL
Página oficial gnu.org/software/bash/ (em inglês)., acessado pela última vez há 254 semanas e 3 dias

O bash é um interpretador de comandos, uma espécie de tradutor entre o sistema operacional e o usuário, normalmente conhecido como shell. Permite a execução de seqüências de comandos direto no prompt do sistema ou escritas em arquivos de texto, conhecidos como shell scripts. Foi liberado em 1989 e é mantido pelo projecto GNU.[1] [2] [3]

Exemplo simples de um shell script em bash:

!/bin/bash   
#indica o interpretador dos comandos
# trechos precedidos por '#" são ignorados!
echo "Olá {$USER}!"

Não há muito sentido em fazer um shell script contendo um só comando, mas este é um exemplo bem básico. No Linux o script tem que ter permissão de execução, isto pode ser feito com o comando chmod. Para exibir um manual do bash ou mesmo do comando 'chmod', digite na linha de comando 'man bash' ou 'man chmod' (sem aspas).

Histórico do Bash[editar | editar código-fonte]

O Bash é o shell desenvolvido para o projecto GNU, da Free Software Foundation, que se tornou padrão nas várias distribuições Linux. Pode ser usado também com outros sistemas operacionais, como o Unix; há versões para o sistema Microsoft Windows₢ (como o do projeto Cygwin), algumas com as bibliotecas necessárias embutidas no binário (no caso do winbash; o que torna desnecessário instalar o ambiente POSIX inteiro para ter apenas o bash). É compatível com o Bourne shell (sh), incorporando os melhores recursos do C shell (csh) e do Korn Shell (ksh).

Arquivos de Ambiente[editar | editar código-fonte]

Você pode customizar seu ambiente do bash utilizando alguns arquivos como:

  • .bash_profile
  • .bashrc
  • /etc/profile

.bash_profile[editar | editar código-fonte]

Este arquivo fica localizado no diretório pessoal de cada usuário. É executado por shells que usam autenticação (nome e senha). Ele contém comandos que são executados para o usuário no momento do login no sistema após o /etc/profile. Note que este é um arquivo oculto pois tem um "." no inicio do nome.

Por exemplo, colocando a linha abaixo cria um apelido para o comando "ls --color=auto" usando ls, assim toda vez que você digitar ls será mostrada a listagem colorida:

alias ls='ls --color=auto' 

.bashrc[editar | editar código-fonte]

Possui as mesmas características do .bash_profile mas é executado por shells que não requerem autenticação (como uma seção de terminal no X).

Os comandos deste arquivo são executados no momento que o usuário inicia um shell com as características acima. Note que este é um arquivo oculto pois tem um "." no inicio do nome.

/etc/profile[editar | editar código-fonte]

Este arquivo contém comandos que são executados para todos os usuários do sistema no momento de autenticação. Somente o usuário root pode ter permissão para modificar este arquivo.

Este arquivo é lido antes do arquivo de configuração pessoal de cada usuário (.profile(para usuário root) e .bash_profile). Pode ser utilizado caso seja necessário fazer alguma personalização do ambiente para todos os usuarios que utilizam o computador.

Quando é carregado através de um shell que requer autenticação (nome e senha), o bash procura estes arquivos em sequência e executa os comandos contidos, caso existam:

  • . /etc/profile
  • . ~/.bash_profile
  • . ~/.bash_login
  • . ~/.profile

Interrompe a pesquisa assim que localiza o primeiro arquivo no diretório do usuário (usando a sequência acima). Por exemplo, se tem o arquivo ~/.bash_login e ~/.bash_profile no seu diretório de usuário, processará o /etc/profile e após isto o ~/.bash_profile, mas nunca processará o ~/.bash_login (a menos que o ~/.bash_profile seja apagado ou renomeado).

Caso o bash seja carregado através de um shell que não requer autenticação (um terminal no X, por exemplo), o seguinte arquivo é executado: ~/.bashrc.

Observação: Nos sistemas Debian, o perfil do usuário root está configurado no arquivo /root/.profile. A razão disto é porque se o bash for carregado através do comando sh, fará a inicialização clássica deste shell ao ler primeiro o arquivo /etc/profile e após o ~/.profile e ignora o .bash_profile e o .bashrc que são arquivos de configuração usados somente pelo Bash. Exemplo, ao inserir a linha mesg y no arquivo /etc/profile permite que todos os usuários do sistema recebam pedidos de 'talk' de outros usuários. Caso um usuário não quiser receber pedidos de 'talk', basta somente adicionar a linha mesg n no arquivo pessoal .bash_profile

Ver também[editar | editar código-fonte]

Referências

  1. Richard Stallman (forwarded with comments by Chet Ramey); 2362@mandrill.CWRU.Edu (Fev 10, 1988). GNU + BSD = ? (em Inglês) comp.unix.questions newsgroup. Visitado em Jul 13, 2013.
  2. Hamilton, Naomi. (May 30, 2008). "The A-Z of Programming Languages: BASH/Bourne-Again Shell" (em Inglês). Computerworld. Visitado em Mar 21, 2011.
  3. Brian Fox (forwarded by Leonard H. Tower Jr.) (Jun 8, 1989). Bash is in beta release! (em Inglês). Visitado em Oct 28 2010.

Ligações externas[editar | editar código-fonte]

 ver·editar Portal do LinuxTux.svg