Comandos Bash Linux – Guia Básico e Exemplos de Uso

Comandos Bash Linux – Guia Básico e Exemplos de Uso

O bash é uma das famosas ferramentas de script do Unix e ideal para usuários Linux e administradores de Sistema. Seu nome é uma abreviação de Bourne Again Shell. Neste tutorial você vai aprender como utilizar alguns dos comandos bash Linux.

O Unix possui 2 categoriais principais de shell.

  • Bourne-type shell
  • C shell

Bourne shell também é classificada como:

  • Korn shell (ksh)
  • Bourne shell (sh)
  • POSIX shell (sh)
  • Bourne Again shell (bash)

C shell é classificada como:

  • C shell (csh)
  • TENEX (TOPS) C shell (tcsh)

Scripts bash são bastante poderosos e componentes importantes para desenvolvimento. Eles podem diminuir tarefas simples e repetitivas em uma única linha de função. Diversos comandos longos podem ser consolidados em códigos executáveis únicos.

O bash está disponível em praticamente todas as distribuições Linux e não exige nenhuma instalação a parte. A lista de shells disponíveis pode ser verificada executando o seguinte comando:

cat /etc/shells

O resultado será algo como o exemplo abaixo:

/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

Por Que Usar Funções Bash Linux?

Funções bash podem:

  • Eliminar tarefas repetitivas.
  • Economizar tempo.
  • Oferece uma sequência de atividades bem estruturadas, modulares e formatadas.
  • Com funções, podemos oferecer valores dinâmicos a comandos usando comandos de argumento.
  • Simplifica argumentos complexos em um único comando.
  • Uma vez criado, pode ser executado inúmeras vezes por qualquer pessoa.
  • Linhas de lógica podem ser criadas com funções bash.
  • Os comandos bash podem ser executados na inicialização do servidor ou com a ajuda de tarefas cron.
  • Os comandos podem passar por debug.
  • Podem ter comandos shell interativos.

O bash é, definitivamente, uma ótima ferramenta para facilitar o seu fluxo de trabalho e melhorar seu projeto. Suas possibilidades de uso são praticamente infinitas, então, neste tutorial iremos ensinar apenas o básico. Está pronto para seu primeiro script?

Começando com o Comando Bash

Antes de começar, você precisará usar o SSH e se conectar com o servidor VPS.

Para começarmos com opções de comando básicas, você pode conferir o manual do bash com o comando:

man bash

Em seguida, iremos criar o arquivo com extensão .sh. Para isso, iremos utilizar o Editor VIM. Criamos um novo arquivo com o seguinte comando:

vim sampleFunction.sh

O arquivo .sh será aberto e iremos editá-lo.

Cada script bash deverá começar com os seguintes caracteres:

#!/bin/bash

O comando abaixo exibe o caminho do script bash.

which bash

O resultado será parecido com este:

/bin/bash

A sintaxe básica do bash é:

function functionName {
first command
second command
}

Também pode ser escrito como:

functionName (){
first command
second command
}

Em uma única linha fica escrito assim:

functionName() { first command; second command; }
caca

Um exemplo de tal função está demonstrado abaixo, quando criamos um diretório e mudamos o caminho para apontar para o novo diretório:

sampleFunction () {
mkdir -p $1
cd $1
}

$1 significa a variável sendo inserida na função. O bash pode criar variáveis dinâmicas dentro do comando. Para verificar esta função, execute:

sampleFunction myDir

Neste caso, o myDir é o nome de um diretório válido a ser criado. Se você verificar o diretório em que se encontra atualmente com o comando pwd, irá notar que está dentro do novo diretório myDir.

Da mesma maneira, qualquer comando comumente utilizado por ser adicionado como uma função bash.

Lembre-se, quando tiver terminado de usar o editor VIM para editar seu arquivo .sh, você pode salvar e fechar o arquivo apertando ESC para entrar em modo de comando e então digitar :wq para salvar e sair.

Funções Bash Básicas

Um dos exemplos básicos de uma função bash está destacado abaixo:

#!/bin/bash
testfunction(){
echo "My first function"
}
testfunction

Se você salvar este script em testFunction.sh e executá-lo como ./testFunction.sh, então você vai ver o resultado:

My first function

A função Echo exibe o resultado no console. Se você mudar a posição da definição de função com o calling, então o resultado vai ser um erro. O snippet abaixo irá gerar um erro.

#!/bin/bash
testfunction
testfunction(){
echo "My first function"
}

Então, primeiro é preciso definir a função e então invocá-la.

Funções bash podem aceitar qualquer número de parâmetros. O exemplo abaixo aceita dois parâmetros:

#!/bin/bash
testfunction(){
echo $1
echo $2
}
testfunction "Hello" "World"

Você também pode utilizar a input interativa e performar funções bash, como mostrado abaixo:

#!/bin/bash
addition(){
sum=$(($1+$2))
return $sum
}
read -p "Enter a number: " int1
read -p "Enter a number: " int2
add $int1 $int2
echo "The result is : " $?

No exemplo acima, o valor da adição está designado em uma soma de variáveis, e isto é retornado da função. Inputs interativas são usadas utilizando read para ambos os números. Finalmente, o resultado é exibido utilizando $? que armazena o valor retornado de $sum da função.

Funções bash sempre retornam um único valor.

Você pode deixar comentários dentro do arquivo adicionando o símbolo # para deixar notas de ajuda.

Scripts bash suportam:

  • Loop While
  • Loop For
  • Instrução If
  • Lógica And
  • Lógica Or
  • Instrução Else If
  • Instrução Case

Abaixo é um exemplo curto do loop While.

#!/bin/bash
isvalid=true
count=1
while [ $isvalid ]
do
echo $count
if [ $count -eq 5 ];
then
break
fi
((count++))
done

O exemplo acima utiliza as instruções while e if. Isso executa o loop while 5 vezes antes de sair depois de checar a instrução condicional if.

O resultado será:

1
2
3
4
5

O loop For pode ser usado para incrementar assim como agravar os contadores. Um exemplo do loop for está mostrado abaixo:

#!/bin/bash
for (( count=10; count>0; count-- ))
do
echo -n "$count "
done

O resultado deste loop será:

10 9 8 7 6 5 4 3 2 1

No bash, os símbolos && representam a lógica AND, enquanto que || representam a lógica OR.

Com instruções if, também podemos definir Else if. Veja abaixo:

#!/bin/bash
echo "Enter a valid number"
read n
if [ $n -eq 101 ];
then
echo "This is first number"
elif [ $n -eq 510 ];
then
echo " This is second number "
elif [ $n -eq 999 ];
then
echo " This is third number "
else
echo "No numbers over here"
fi

Este mesmo exemplo também pode ser escrito com a instrução case:

#!/bin/bash
echo " Enter a valid number"
read n
case $n in
101)
Echo " This is the first number " ;;
510)
echo " This is the second number " ;;
999)
echo " This is the third number " ;;
*)
echo " No numbers over here " ;;
esac

Em instruções case, ;; significa o término do case.

Resumo

Isto completa nossa revisão dos comandos bash básicos. O bash é uma ferramenta extremamente poderosa e fácil de ser aprendida. Deste ponto você pode mergulhar fundo na criação de mais exemplos e se divertir explorando o potencial máximo dos comandos bash Linux!

Author
O autor

Ariane G.

A Ariane é SEO Team Leader com experiência em conteúdo, localização e SEO. Seu desafio é levar a Hostinger ao topo dos resultados no Brasil, França e Reino Unido. Eventualmente ela compartilha seu conhecimento no blog e nos tutoriais da Hostinger e no tempo livre ela gosta de explorar lugares novos e viver intencionalmente.