Um guia para iniciantes para usar funções Bash!

Um guia para iniciantes para usar funções Bash!

As funções bash são uma maneira útil de agrupar uma série de comandos que você costuma usar juntos. Eles permitem que você reutilize o código, torne seus scripts mais organizados e mais fáceis de ler e economize seu tempo, não precisando digitar os mesmos comandos repetidamente.

Para criar uma função no Bash, você usa a palavra -chave da função seguida pelo nome da função e um par de aparelhos encaracolados que incluem os comandos que compõem a função. Por exemplo:

Saudação da função echo "Olá, mundo!"
123Saudação da função echo "Olá, mundo!"

Isso cria uma função chamada 'saudações' que simplesmente produz a string "Olá Mundo!” Quando é chamado.

Para chamar uma função, basta digitar o nome do seu script de shell. Por exemplo:

saudações
1saudações

Isso executará os comandos dentro do 'saudações' função, que neste caso é apenas o comando de eco.

Função Bash com argumentos

Você também pode passar argumentos para uma função listando -os dentro dos parênteses quando você chama a função. Por exemplo:

Saudação da função echo "Olá, $ 1!" cumprimentando" John Doe "
12345Saudação da função echo "Olá, $ 1!" cumprimentando" John Doe "

Isso será lançado “Olá, John Doe!” porque o '$ 1' A variável dentro da função refere -se ao primeiro argumento passado para a função (neste caso, "John Doe"). Você pode usar US $ 2, US $ 3 e assim por diante para se referir ao segundo, terceiro e argumentos subsequentes.

Você também pode especificar valores padrão para argumentos se eles não forem fornecidos quando a função for chamada. Por exemplo:

Função Saudação name = $ 1: -World echo "Hello, $ Name!" saudação da saudação" John "
1234567Função Saudação name = $ 1: -World echo "Hello, $ Name!" saudação da saudação" John "

A primeira chamada para 'saudação' será lançada "Olá Mundo!” Porque a variável de nome é definida como o valor padrão do "mundo" se nenhum argumento for fornecido. A segunda chamada para 'saudação' será lançada "Olá john!” Porque a variável de nome é definida para o valor do primeiro argumento ("John").

Defina o tipo de argumento usando comandos de Builting

Usando o 'declarar' Comando construído, você também pode especificar os tipos de argumentos que uma função espera. Por exemplo:

função add declarar -i num1 = $ 1 declarar -i num2 = $ 2 echo $ ((num1 + num2)) Adicione 1 2
1234567função add declarar -i num1 = $ 1 declarar -i num2 = $ 2 echo $ ((num1 + num2)) Adicione 1 2

Esta função espera dois argumentos inteiros e os adiciona usando o '$ ((…))' Sintaxe de expansão aritmética. O 'Declare -i' Flag diz a Bash para tratar as variáveis ​​como números inteiros.

Funções Bash com variáveis ​​locais

As funções bash também têm variáveis ​​locais, que são variáveis ​​que só são visíveis dentro da função e não são acessíveis fora dela. Para criar uma variável local, você usa o 'local' palavra -chave seguida pelo nome da variável. Por exemplo:

contagem de funções local i para i em 1… 5; ECHO $ ​​que eu fiz Conte Echo $ i
123456789contagem de funções local i para i em 1… 5; faça eco $ eu fiz Countecho $ i

A função de contagem cria uma variável local chamada 'eu' que é usado para contar de 1 a 5. O eco '$ i' declaração fora da função não produzirá nada porque o 'eu' A variável não é definida fora da função.

Função com valores de retorno

Você também pode retornar um valor de uma função usando o 'retornar' comando construído. O valor do comando de retorno é o status de saída da função, que é um número que indica se a função foi concluída com sucesso ou encontrou um erro. A 'retornar' valor de '0' indica sucesso, enquanto um valor diferente de zero indica um erro.

Por exemplo:

função add if [[$# -ne 2]]; Em seguida, retorne 1 fi declara -i num1 = $ 1 declarar -i num2 = $ 2 retornar $ ((num1 + num2)) Adicione 1 2 echo $? Adicionar 1 eco $?
12345678910111213função add if [[$# -ne 2]]; Em seguida, retorne 1 fi declara -i num1 = $ 1 declarar -i num2 = $ 2 retornar $ ((num1 + num2)) Adicione 1 2echo $?Adicione 1echo $?

A função adiciona verifica para garantir que tenha recebido exatamente dois argumentos. Caso contrário, ele retorna um valor de 1 para indicar um erro. Caso contrário, ele adiciona os dois argumentos e retorna o resultado.

O 'Echo $?' comando após cada chamada para a função Adicionar produzirá o valor de retorno da função. A primeira chamada será lançada 3, enquanto a segunda chamada será lançada 1.

Imprimir valores em função

Além do valor de retorno, você também pode usar o comando echo para imprimir um valor de uma função. Por exemplo:

função add if [[$# -ne 2]]; então retorne 1 fi declare -i num1 = $ 1 declarar -i num2 = $ 2 echo $ ((num1 + num2)) resultado = $ (add 10 20) eco "o resultado é $ resultado."
1234567891011função add if [[$# -ne 2]]; então retorne 1 fi declare -i num1 = $ 1 declarar -i num2 = $ 2 echo $ ((num1 + num2)) resultado = $ (add 10 20) eco "o resultado é $ resultado."

Este código será lançado “O resultado é 30.” porque a função Add é chamada usando a substituição de comando (a sintaxe $ (…)) e o resultado é armazenado na variável de resultado.

As funções Bash podem ser muito poderosas e são uma ferramenta valiosa para organizar e simplificar seus scripts. Eles permitem que você reutilize o código, torne seus scripts mais legíveis e economize tempo por não ter que digitar os mesmos comandos repetidamente.