Bash

De Rede Linux

O linux é derivado de um sistema operacional chamado unix. No unix, utiliza-se programas pequenos, que fazem coisas pequenas, e se os interliga para realizar as tarefas.

Quando dizemos que estamos usando o terminal, de fato estamos usando um conjunto de programas. A janelinha do terminal é um programa, que desenha caracteres e recebe caracteres do teclado. Dentro dela, há um outro programa, que interpreta esses caracteres e ve o que o usuario quer. Esse programa é o bash (na verdade há outros programas que fazem esse mesmo serviço, como o csh e o ksh)

O bash carrega suas configurações ao ser aberto (e ele é aberto, normalmente, quando você abre a janelinha do terminal). Por isso você precisa de terminais novos pra ver as suas configurações.

Durante esse curso, você está aprendendo coisas sobre o bash e sobre os programas que normalmente se roda nele. Depois, você talvez queira aprender sobre bash scripts: Algumas das tarefas que você está aprendendo a realizar podem ser automatizadas. Se vc costuma rodar varios programas em conjunto, poderá fazer um programão, que executa a sequencia de passos que você está acostumado a executar na mao. Um bom lugar pra começar é aqui

Arquivos de configuração do bash

Existem 2 arquivos de configuração do bash na sua conta. (Provavelmente existem mais ...)

Esses arquivos são o .bashrc e o .bash_profile . Se quiser, de uma olhadinha neles. Eles são construidos de uma maneira bastante parecida com os comandos que se roda no terminal e com scripts em bash.

Os dois arquivos servem a mesma função: configurar o seu bash antes de "entregar" ele pra você pra você usar seus programas. Quando a gente coloca uma alias lá, por exemplo, o comando alias é rodado antes de te entregar o bash

Note que esses arquivos de configuração são muito flexíveis (porque são escritos em bash, e bash é muito flexivel). Em particular, eles podem conter o comando "source" que faz com que um outro arquivo seja executado. É graças a esse comando que a rede linux tem um terceiro arquivo de configuraçao do bash, o .bash_aliases.

Alguns comentários:
  • Quando você abre um bash, nem sempre ele lê os dois arquivos. Para os terminais normais (os dentro de janelinhas) normalmente ele só lê o .bashrc Para terminais de login (terminais do ctrl-alt-f1, ou terminais abertos via ssh) ele executa só .bash_profile.
  • Mas isso não vale se vc mandar isso não valer, usando o source. Se o .bashrc estiver dando source no .bash_profile, o .bash_profile vai ser executado sempre que o .bashrc o for.
  • Quando vc deleta o .bash_profile, o bash (parece) passar a executar o .bashrc sempre.
  • Alguns comandos de impressão no .bash_profile (do tipo "echo abc") podem fazer o ssh e o scp pararem de funcionar.