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!
All of the tutorial content on this website is subject to Hostinger's rigorous editorial standards and values.
Comentários
May 05 2021
Parabéns! Mas gostaria de acrescentar se definidas e usadas em um mesmo arquivo as funções servem para modularizar a solução. Para reaproveitar uma rotina indico o comando source e/ou seu aliase ".". Eles incluem fonte contido em outro arquivo.
September 25 2021
Gostei do bash