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). - Via Wikipedia
Bash é uma poderosa linguagem de programação, o intuito dessa página é explicar, de maneira reduzida e condensada, como programar em bash :)
Normalmente para testar/executar um bash script (ou shell script), são necessárias os seguintes pontos:
No começo de cada arquivo que você for executar em uma linha de comando, tem-se a boa prática de indicar para o sistema qual executável que irá compilar aquele monte de coisas que você escreveu, portanto para essa página, o topo de cada um dos arquivos (scripts) que criarmos será:
#!/bin/bash
Isso quer dizer: quando executarmos o script ele o computador irá compila-lo pelo executável /bin/bash (digite which bash para verificar o caminho correto)
Durante a escrita do programa / script você deve ter muita atenção na sintaxe que será utilizada, pequenos detalhes fazem toda a diferença:
#!/bin/bash
# Isso é um comentário
#declarar uma variável xa com valor ragazzid
xa="ragazzid"
#ou
xa=ragazzid
#declarar errado
xa= "ragazzid"
#ou
xa = "ragazzid"
#tem que deixar (bem) juntinho mesmo ;
Tenha em mente que '’ é diferente de "” que por sua vez é diferente de ``, cada um dos 3 tem um significado diferente para o interpretador (/bin/bash)
#!/bin/bash
a="meu nome"
echo $a #exibe meu nome
echo "$a" #exibe meu nome
echo '$a' #exibe $a
echo `$a` #gera erro - pois não existe função meu nome
Para chamar uma variável já declarada é necessário adicionar o caractere $ antes do nome:
#!/bin/bash
#declarar a variavel oi com valor "bom dia"
oi="bom dia"
echo $oi
echo é um programa que usamos livremente na CLI de um UNIX, portanto podemos dizer que QUALQUER comando que você use na CLI você pode integrar ele com o seu shell script, os mais usados são:
#!/bin/bash
for a in {1..20}; do
curl 'http://www.webpage.com/site' > /tmp/$a.dd 2>&1 &
done