>_Funções [ function ]

O Básico de Funções na BASH

Função nada mais é que um código escrito para resolver uma pequena parte de um problema, o que resolve o problema por inteiro é chamado de software, o que faz pequenas coisas em um software são as funções. Uma coisa que não está na definição acima é que a função é sempre encapsulada, ou seja, ela tem uma estrutura própria que varia de linguagem para linguagem, porém normalmente segue uma forma mais ou menos parecida em todas estas.

Além dos aliases, o bash também oferece funções. Elas trabalham praticamente da mesma forma que os aliases, no sentido de que um nome de função escolhido por você é atribuído a uma contrução mais complexa. Neste caso, entretanto, essa construção é um pequeno programa, em vez de uma simples substituição de comando.

Sintaxe simples de uma função:

[ function ] nome ( ) { lista de comandos}

lsps ( ) { ls -l ; ps ; }

Esta declaração define chamada nome. Function é opcional, e os parênteses após nome são obrigatórios, caso function seja omitida. O corpo da função é a lista de comandos entre as chaves { }. Essa lista é uma série de comandos, separados por ponto-e-vírgula ou por caracteres de nova linha. A série de comandos é executada sempre que o nome é especificado como um comando.

Os caracteres > vêm do bash, durante a operação interativa, indicando que o bash está esperando por mais comandos da função ou pelo caracter }, o qual conclui a definição da função. Esta nova função permite especificar um argumento para ela, o qual é inserido em todos os lugares onde houver $1 noa função. Esses argumentos são chamados de parâmetros posicionais, porque o número de cada um deles indica a sua posição na lista de argumentos.

Como passar argumentos para a função? E o retorno da função?

Como disse anteriormente, o shell trata uma função como se fosse um comando, ou seja, para se passar os argumentos basta fazer como fazemos todos os dias no terminal, exemplo básico de uma função.

 

>_Funções [ function ]
Tagged on:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: