Um guia para iniciantes para usar funções Bash!
- 4771
- 546
- Mr. Mitchell Hansen
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!"123 | Saudaçã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ções1 | saudaçõ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 "12345 | Saudaçã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 "1234567 | Funçã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 21234567 | funçã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 $ i123456789 | contagem 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 $?12345678910111213 | funçã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."1234567891011 | 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." |
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.