Pular para o conteúdo

Funções em Shell Script

Dica publicada em Shell Script / Introdução
Thiago Henrique F. Margonar thiagomargonar
Hits: 25.101 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Funções em Shell Script

Saudações, galera.

Achei que seria interessante compartilhar com vocês, sobre funções no Shell Script.

Não vou abordar cada linha no script, por ter criado algo mais simples de entender, só vou abordar mesmo a questão da função nos scripts. Vamos lá:

Exemplo 1

Vamos criar 2 arquivos:

O primeiro arquivo, vamos chamar de principal.sh:

vim principal.sh

#!/bin/bash
echo "deseja chamar a funcao? S/n "
read opcao

if [ "$opcao" == "s" ];then
    source funcao.sh  # O source é responsável por chamar o outro script
else
    echo "saindo"
fi

sleep 2
exit

O segundo arquivo, vamos chamar de funcao.sh como foi descrito acima:

vim funcao.sh

#!/bin/bash
echo "funcao chamada"

Agora, o arquivo principal.sh quando executado, chamará o arquivo funcao.sh.

Obs.: não vamos esquecer de dar a permissão nos arquivos para que eles funcionem:

chmod +x principal.sh funcao.sh

Exemplo 2

Outra forma de usar funções em Shell Script, é no próprio script. Por exemplo:

#!/bin/bash
###### funcao ################

funcao()
{
    echo "funcao chamada"
}

###Bloco Principal###############
echo "deseja chamar a funcao? S/n "
read opcao

if [ "$opcao" == "s" ];then
    funcao  # Reparem que aqui nós chamamos a função sem o source
else
    echo "saindo"
fi

sleep 2
exit

Seguindo a lógica da programação, o shell irá fazer primeiramente, a leitura do bloco principal ignorando as funções acima do mesmo. Ou seja, podemos ter milhões de funções acima do bloco principal, pois elas só serão executadas sendo chamadas no script.

Além disso, usando a mesma lógica para chamar as funções, podemos chamar funções dentro de funções, como você achar melhor.


É isso aí, galera.
Espero que seja útil essa dica. Qualquer dúvida, estou à disposição.

Compartilhamento simples de arquivos com Samba no CentOS 6.4

Backup semanal/mensal/anual do PostgreSQL

Acessando seu Ubuntu por um terminal Windows de outra rede

Instalando Ruby on Rails no CentOS

CentOS + xrdp - Acessando CentOS pelo Windows (Acesso remoto da área de trabalho com "Mstsc.exe")

Curso de Shell Script

Java no Ubuntu - Parâmetros iniciais do Tomcat (parte 3)

Aulas Shell Script do zero - Parte 1

Habilitar Cgi-Shell no Apache2

Lendo setas do teclado em shell script

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.