Pular para o conteúdo

Funções em Shell Script

Dica publicada em Shell Script / Introdução
Thiago Henrique F. Margonar thiagomargonar
Hits: 25.094 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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 Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando Ruby on Rails no CentOS

Backup semanal/mensal/anual do PostgreSQL

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

Compartilhamento simples de arquivos com Samba no CentOS 6.4

Acessando seu Ubuntu por um terminal Windows de outra rede

Otimizando Digitação no Terminal Bash

Multitail - Monitore vários logs em tempo real

Aulas Shell Script do zero - Parte 5

Utilizando o vim

Criando e utilizando uma "biblioteca de funções"

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.