Uso de argumento opcional e valor padrão na função Bash

Uso de argumento opcional e valor padrão na função Bash
Uma função é uma parte essencial de qualquer linguagem de programação que contenha um bloco de código. O mesmo código pode ser executado várias vezes chamando uma função, e o requisito de escrever o mesmo código repetidamente pode ser evitado usando a função. Uma função pode ser definida sem argumento e com argumento. O argumento da função pode ser obrigatório e opcional. O valor padrão pode ser definido para o argumento da função Bash. As maneiras de declarar o argumento opcional e o uso de valores padrão na função Bash mostraram neste tutorial.

Exemplo 1: Calcule a soma usando argumentos opcionais

A maneira de definir argumentos opcionais com valores padrão é mostrada neste exemplo. Crie um arquivo bash com o seguinte script para calcular a soma de dois números. No script, a função chamada SUM () contém dois argumentos opcionais com valores padrão. Se nenhum argumento for dado ao chamar a função, a soma dos valores padrão será calculada. Se um argumento for dado ao chamar a função, a soma do valor do argumento e o segundo valor padrão serão calculados. Se dois argumentos forem apresentados no momento de chamar a função, a soma dos valores do argumento será calculada. Em seguida, a função chamou sem argumentos, com um argumento, e com dois argumentos.

#!/BIN/BASH
#Declare Função com argumento obrigatório e opcional
functionsum ()

#Set os valores
num1 = $ 1: -10
num2 = $ 2: -20
#Return verdadeiro se nenhum argumento for dado
se [$# -LT1]; então
eco "Os valores de argumento opcional são: $ num1, $ num2."
#Return True se um argumento for dado
Elif [$# -LT2]; então
#Add New Line
eco
eco "O valor do argumento opcional é: $ num2."
outro
#Add New Line
eco
eco "não há argumento opcional."
num1 = $ 1
num2 = $ 2
fi
#Calcular a soma de dois números
soma = $ ((num1+num2))
eco "A soma de $ num1 e $ num2 é $ sum"

#Call função sem nenhum argumento
soma
#Call função com um argumento
Soma 40
#Call função com dois argumentos
Soma 70 30

Saída:

A saída a seguir aparecerá após a execução do script acima. Quando a função foi chamada sem nenhum argumento, foi impressa a soma de dois valores padrão que 30 (10+20). Quando a função foi chamada com um argumento, a soma do valor do argumento (40) e o segundo valor padrão (20) são impressos que são 60. Quando a função foi chamada com dois argumentos, a soma de dois valores de argumento imprimiu 100 (70+30).

Exemplo 2: autentique o usuário usando

valores padrão
Crie um arquivo bash com o seguinte script para autenticar o usuário com o nome de usuário e senha padrão quando a função é chamada sem nenhum argumento. A função chamada autenticate () contém dois argumentos opcionais com nome de usuário e senha padrão. Quando essa função é chamada sem nenhum argumento, os valores padrão serão usados ​​para autenticar o usuário, e a mensagem de sucesso do login do convidado será impressa. Quando essa função é chamada com um nome de usuário e senha válidos, a mensagem de sucesso do login do administrador será impressa. Quando esta função é chamada com um nome de usuário e senha inválidos, a mensagem de erro será impressa.

#!/BIN/BASH
#Declare Função para autenticação
functionAuthenticate ()

#Set os valores
nome de usuário = $ 1: -Guest
senha = $ 2: -12345
#Return verdadeiro se nenhum argumento for dado
if [[$ userName == 'admin' && $ senha == 'secret']]; então
eco "você fez login como administrador."
#Return True se um argumento for dado
elif [[$ userName == 'Guest' && $ senha == '12345']]; então
eco "você fez login como convidado."
outro
eco "nome de usuário e senha inválidos."
fi

#Call função sem nenhum argumento
Autenticar
#Call função com nome de usuário e senha válidos
Autenticar segredo do administrador
#Call função com nome de usuário e senha inválidos
Autentique Fahmida 1234

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo 3: Calcule o bônus com base no valor padrão

Crie um arquivo bash com o seguinte script para calcular o bônus com base no valor padrão se nenhum valor de argumento for dado para a função. Três valores de entrada serão retirados do usuário após executar o script. Estes são salários básicos, aluguel de casas e subsídio médico. A função nomeada calcular_salary () calculará o valor do bônus com base no valor do argumento da função ou no valor padrão. O valor do salário total será contado adicionando os valores de básico, aluguel, médico, e Bônus. O calcular_salary () A função chamou sem nenhum argumento ou com um argumento.

#!/BIN/BASH
#Take Basic, aluguel de casas e subsídio médico de um funcionário
eco "Digite o salário básico:"
Leia básico
eco "Entre no aluguel da casa:"
Leia o aluguel
eco "Entre no subsídio médico:"
Leia Medical
#Declare Função para calcular o salário com bônus
functionCalCulate_salary ()

#Conte o valor
bônus = $ 1: -5
#Calcular bônus
Bonusamount = $ ((BASIC*BONUS/100))
#Calcular o salário total
Total = $ ((Basic+Rent+Medical+Bonusamount))
#Print Salário total com o valor do bônus
eco "o salário total com bônus de bônus de $ é $ total"

#Call função sem a porcentagem de bônus
calcular_salary
#Call função com a porcentagem de bônus
calcular_salary 10

Saída:

A saída a seguir aparecerá após a execução do script. Quando a função é chamada sem nenhum argumento, o valor padrão 5 foi usado para calcular o valor do bônus com base no valor básico. Quando a função é chamada com o valor do argumento 10, o valor do bônus foi calculado com base nesse valor. Em seguida, o salário total com base em 5% de bônus e bônus de 10% imprimiu.

Conclusão:

O uso de argumentos opcionais com valores padrão na função foi descrito neste tutorial usando três exemplos diferentes. O valor padrão pode ser numérico ou string. O objetivo de usar um argumento opcional com os valores padrão na função será liberado para o usuário do BASH depois de ler este tutorial.