Funções em Shell Script
Dica publicada em Shell Script / Introdução
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á:
O primeiro arquivo, vamos chamar de principal.sh:
vim principal.sh
O segundo arquivo, vamos chamar de funcao.sh como foi descrito acima:
vim funcao.sh
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
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.
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
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"
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
###### 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.