Funções em Shell Script

Publicado por Thiago Henrique F. Margonar em 05/02/2014

[ Hits: 24.357 ]

 


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.

Outras dicas deste autor

Compartilhamento simples de arquivos com Samba no CentOS 6.4

Instalando Ruby on Rails no CentOS

Acessando seu Ubuntu por um terminal Windows de outra rede

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

Backup semanal/mensal/anual do PostgreSQL

Leitura recomendada

Limpando lixeira centralizada do Samba

who - Comando com exemplos

VirtualBox - Compartilhando pastas Linux vs Linux

Listando os 5 maiores subdiretórios no GNU/Linux

Apagar linhas comentadas de arquivos

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts