Como devolver uma string de funções Bash

Como devolver uma string de funções Bash

Uso da função Bash que retorna um valor

As funções bash não podem retornar valores como outras linguagens de programação padrão. Funções Bash suporta a declaração de retorno, mas usa sintaxe diferente para ler o valor de retorno. Você pode obter o valor das funções Bash de diferentes maneiras. Neste tutorial, você aprenderá como pode passar dados de string da função Bash para o chamador usando diferentes tipos de sintaxes de bash. Abra um editor de texto para testar os seguintes exemplos de função BASH para entender como os valores de string ou numéricos podem ser retornados das funções do Bash.

Exemplo 1: Usando variável global

A função Bash pode retornar um valor de string usando uma variável global. No exemplo a seguir, uma variável global, 'retval ' é usado. Um valor de string é atribuído e impresso nesta variável global antes e depois de chamar a função. O valor da variável global será alterado após chamar a função. Esta é uma maneira de retornar o valor da string de uma função de bash.

função f1 ()

retval = 'eu gosto de programar'

retval = 'eu odeio programação'
eco $ retval
F1
eco $ retval

Crie um arquivo bash chamado func1.sh com o código acima e execute o script do terminal. Aqui, a saída 'Eu gosto de programar'é atribuído e impresso após a chamada de função.

Exemplo-2: Usando o comando da função

Você pode receber o valor de retorno de uma função bash e armazená -la em uma variável no momento da chamada. No exemplo seguinte, uma variável local, retval é usado e o valor da variável local é retornado pela função F2 é atribuído em uma variável global, getVal que é impresso mais tarde.

função f2 ()

Retval local = 'Usando a função Bash'
eco "$ retval"

getVal = $ (f2)
eco $ getVal

Crie um script bash nomeado func2.sh com o código acima e execute o script.


Exemplo 3: Usando variável

No exemplo a seguir, o valor de retorno da função é definido com base na variável de argumento da função. Aqui, um valor é passado para a função F3 usando uma variável de argumento, getVal1 no momento da chamada da função. Depois de verificar a declaração condicional, o valor de retorno é atribuído e impresso.

função f3 ()

Arg1 local = $ 1
Se [[$ arg1 != ""]];
então
retval = "Função Bash com variável"
outro
eco "sem argumento"
fi

getVal1 = "Função Bash"
F3 $ getVal1
eco $ retval
getVal2 = $ (f3)
eco $ getVal2

Crie um script bash chamado func3.sh com o código acima e execute o script.

Exemplo-4: Usando a declaração de retorno

A maior parte da linguagem de programação padrão usa a declaração de retorno para retornar um valor da função. Os valores da função são retornados sem usar nenhuma declaração de retorno nos exemplos acima. No exemplo a seguir, a declaração de retorno é usada para retornar um valor numérico da função F4. Aqui, $? é usado para ler o valor 35 que é retornado pela função usando retornar declaração.

função f4 ()
eco 'Declaração de retorno da Bash'
retornar 35

F4
eco "o valor de retorno da função é $?"

Crie um script bash nomeado func4.sh com o código acima e execute o script.

Você pode usar as funções Bash de várias maneiras para retornar qualquer string ou valor numérico depois de chamar a função. Para mais informações, assista ao vídeo!