Utilisation de l'argument facultatif et de la valeur par défaut dans la fonction de bash

Utilisation de l'argument facultatif et de la valeur par défaut dans la fonction de bash
Une fonction est une partie essentielle de tout langage de programmation qui contient un bloc de code. Le même code peut être exécuté plusieurs fois en appelant une fonction, et l'exigence d'écrire le même code à plusieurs reprises peut être évitée en utilisant la fonction. Une fonction peut être définie sans argument et avec argument. L'argument de la fonction peut être obligatoire et facultatif. La valeur par défaut peut être définie pour l'argument de la fonction bash. Les moyens de déclarer l'argument facultatif et l'utilisation de valeurs par défaut dans la fonction bash ont montré dans ce tutoriel.

Exemple-1: calculer la somme en utilisant des arguments facultatifs

La voie à définir des arguments facultatifs avec les valeurs par défaut est affichée dans cet exemple. Créez un fichier bash avec le script suivant pour calculer la somme de deux nombres. Dans le script, la fonction nommée SUM () contient deux arguments facultatifs avec des valeurs par défaut. Si aucun argument n'est donné lors de l'appel de la fonction, la somme des valeurs par défaut sera calculée. Si un argument est donné lors de l'appel de la fonction, alors la somme de la valeur de l'argument et la deuxième valeur par défaut seront calculées. Si deux arguments sont donnés au moment de l'appel de la fonction, alors la somme des valeurs d'argument sera calculée. Ensuite, la fonction a appelé sans aucun argument, avec un argument et avec deux arguments.

#!/ bac / bash
Fonction #Declare avec un argument obligatoire et facultatif
functionsum ()

#St les valeurs
num1 = $ 1: -10
num2 = $ 2: -20
#Return vrai si aucun argument n'est donné
si [$ # -lt1]; alors
Echo "Les valeurs d'argument facultative sont: $ num1, $ num2."
#Return vrai si un argument est donné
elif [$ # -lt2]; alors
#Add New Line
écho
Echo "La valeur d'argument facultative est: $ num2."
autre
#Add New Line
écho
Echo "Il n'y a pas d'argument facultatif."
num1 = 1 $
num2 = 2 $
Fi
#Calculate la somme de deux nombres
sum = $ ((num1 + num2))
Echo "La somme de $ num1 et $ num2 est $ sum"

#Pall Fonction sans aucun argument
somme
#Pall Fonction avec un argument
somme 40
#Pall Fonction avec deux arguments
somme 70 30

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Lorsque la fonction a été appelée sans aucun argument, la somme de deux valeurs par défaut a été imprimée avec 30 (10 + 20). Lorsque la fonction a été appelée avec un argument, la somme de la valeur de l'argument (40) et la deuxième valeur par défaut (20) est imprimée qui est 60. Lorsque la fonction a été appelée avec deux arguments, la somme de deux valeurs d'argument a imprimé 100 (70 + 30).

Exemple-2: authentifier l'utilisateur en utilisant

les valeurs par défaut
Créez un fichier bash avec le script suivant pour authentifier l'utilisateur avec le nom d'utilisateur et le mot de passe par défaut lorsque la fonction est appelée sans aucun argument. La fonction nommée Authenticiate () contient deux arguments facultatifs avec le nom d'utilisateur et le mot de passe par défaut. Lorsque cette fonction est appelée sans aucun argument, les valeurs par défaut seront utilisées pour authentifier l'utilisateur et le message de réussite de la connexion invité sera imprimé. Lorsque cette fonction est appelée avec un nom d'utilisateur et un mot de passe valides, le message de réussite de la connexion de l'administrateur sera imprimé. Lorsque cette fonction est appelée avec un nom d'utilisateur et un mot de passe non valides, le message d'erreur sera imprimé.

#!/ bac / bash
Fonction #Declare pour l'authentification
fonctionAuthenticate ()

#St les valeurs
nom d'utilisateur = $ 1: -Guest
mot de passe = $ 2: -12345
#Return vrai si aucun argument n'est donné
Si [[$ username == 'admin' && $ mot de passe == 'Secret']]; alors
Echo "Vous vous êtes connecté en tant qu'administrateur."
#Return vrai si un argument est donné
elif [[$ username == 'invité' && $ mot de passe == '12345']]; alors
Echo "Vous vous êtes connecté en tant qu'invité."
autre
Echo "Nom d'utilisateur et mot de passe non valides."
Fi

#Pall Fonction sans aucun argument
Authentifier
#Pall Fonction avec nom d'utilisateur et mot de passe valides
Authentifier le secret de l'administrateur
#Pall Fonction avec nom d'utilisateur et mot de passe non valides
Authentifier Fahmida 1234

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

Exemple-3: Calculez le bonus en fonction de la valeur par défaut

Créez un fichier bash avec le script suivant pour calculer le bonus en fonction de la valeur par défaut si aucune valeur d'argument n'est donnée pour la fonction. Trois valeurs d'entrée seront tirées de l'utilisateur après avoir exécuté le script. Ce sont un salaire de base, un loyer de maison et une allocation médicale. La fonction nommée calculer_salary () calculer le montant bonus en fonction de la valeur d'argument de la fonction ou de la valeur par défaut. Le montant du salaire total sera compté en ajoutant les valeurs de basique, louer, médical, et bonusamount. Le calculer_salary () La fonction a appelé sans aucun argument ou avec un argument.

#!/ bac / bash
#Take Basic, loyer de maison et allocation médicale d'un employé
Echo "Entrez le salaire de base:"
Lire de base
ECHO "Entrez le loyer de la maison:"
lire le loyer
Echo "Entrer l'allocation médicale:"
Lire médical
#Declare Fonction pour calculer le salaire avec un bonus
functionCalculate_salary ()

#St la valeur
bonus = $ 1: -5
#Calculate bonus
bonusamount = $ ((bonus de base * / 100))
#Calculate total salaire
Total = $ ((Basic + Rent + Medical + BonusAmount))
# Print Salaire total avec le montant bonus
Echo "Le salaire total avec le bonus de $% est $ total"

#Pall Fonction sans le pourcentage de bonus
calculer
#Pall Fonction avec le pourcentage de bonus
Calcul_salary 10

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script. Lorsque la fonction a été appelée sans aucun argument, la valeur par défaut 5 a été utilisée pour calculer le montant du bonus en fonction du montant de base. Lorsque la fonction a appelé avec la valeur de l'argument 10, le montant bonus a été calculé en fonction de cette valeur. Ensuite, le salaire total basé sur un bonus de 5% et un bonus de 10% a imprimé.

Conclusion:

L'utilisation d'arguments facultatifs avec des valeurs par défaut dans la fonction a été décrite dans ce tutoriel en utilisant trois exemples différents. La valeur par défaut peut être numérique ou chaîne. Le but d'utiliser un argument facultatif avec les valeurs par défaut dans la fonction sera effacée pour l'utilisateur de bash après avoir lu ce tutoriel.