Syntaxe:
Getopts OptString Name [Args]
Options:
Certaines options Getopts principalement utilisées sont mentionnées ici.
Étiqueter | Description |
-o ou-options | Identifier l'option à un caractères. |
-l ou -Longoptions | Identifier les options à plusieurs caractères. |
-n ou -nom | Signaler les erreurs provenant de la commande getopts |
-Q ou -quiet | Désactiver les rapports d'erreur |
-T ou-test | Tester la version Getopts |
-A ou -alternative | Autoriser une longue option avec un seul '-' |
Exemple-1: en utilisant un seul option
Cet exemple montre l'utilisation très simple de la commande getopts. Créer un fichier bash nommé 'Getopts1.sh 'avec le code suivant pour tester le code. Ici, tandis que Loop se poursuivra pour l'option de la commande getopts. La déclaration de cas vérifiera l'option. Si l'option est «C», le script imprimera «ma couleur préférée est bleu». Si l'option est «F», le script imprimera «mon plat préféré est la glace». Si l'option est «-m», le script imprimera «Mon film préféré est Titanic». Pour toute autre valeur d'option, «vous devez utiliser: [-c] ou [-f] ou [-m]».
#!/ bac / bash
# Lisez l'option et stockez dans la variable, Option $
lors de l'option GetOpts "CFM"; faire
cas $ option dans
c) # pour option c
Echo "Ma couleur préférée est le bleu"
;;
f) # pour option f
Echo "Mon plat préféré est la glace"
;;
m) # pour option m
Echo "Mon film préféré est Titanic"
;;
\? ) # Pour une option non valide
Echo "Vous devez utiliser: [-c] ou [-f] ou [-M]"
;;
ESAC
fait
Exécutez le script en utilisant quatre options, '-c', '-f', '-m' et '-k'.
$ bash getopts1.sh -c
$ bash getopts1.sh -f
$ bash getopts1.sh -m
$ bash getopts1.sh -k
Sortir:
Exemple-2: Utilisation d'option avec un seul argument
Cet exemple montre l'utilisation de la commande getopts avec un argument. Créer un fichier bash nommé 'getOPTS2.sh 'avec le code suivant pour tester le code. Ici, ':' est utilisé avec 'P' pour définir que la commande prendra l'argument avec l'option. Le script imprimera la valeur de l'argument avec une autre chaîne si l'argument avec l'option «-p» fournit au moment de l'exécution. Si une option fournira plutôt que «-p», il affichera un message d'erreur avec une valeur d'option. Si l'option «-p» fournira sans aucun argument, un autre message d'erreur imprimera.
#!/ bac / bash
tandis que Getopts "P:" Opt; faire
cas $ opt
p) # print la valeur de l'argument
Echo "j'aime la programmation $ optarg"
;;
\? )
# Erreur d'option d'empreinte
Echo "Option non valide: $ optarg" 1> & 2
;;
:)
# error de l'argument de l'imprimé
Echo "Option non valide: $ optarg nécessite un argument" 1> & 2
;;
ESAC
fait
Exécutez le script avec l'option -p et la valeur de l'argument «bash», avec seulement l'option -p et avec l'option -t.
$ bash getopts2.sh -p bash
$ bash getopts2.sh -p
$ bash getopts2.sh -t
Sortir:
Exemple-3: Utilisation de l'option avec plusieurs arguments
Cet exemple montre les utilisations de la commande getopts avec plusieurs arguments. Créer un script bash nommé Grtopts3.sh avec le code suivant pour tester le script. Selon le script, des valeurs d'argument séparées de virgule seront fournies de la ligne de commande.
Ici, l'option «-f» et la variable IFS sont utilisées pour diviser les arguments et stockés dans un tableau, $ numarr. Si les arguments séparés par des virgules fourniront, il imprimera le nombre total d'arguments. Deux options prendront en charge la commande. La somme des valeurs d'argument sera calculée et imprimée si l'option «-a» fournira les arguments. La multiplication des valeurs d'argument sera calculée et imprimée si l'option «-m» fournira les arguments.
#!/ bac / bash
tandis que Getopts "A: M:" Opt; faire
set -f; Ifs = ','
numarr = (2 $)
Echo "Nombre total d'arguments = $ # numarr [@]"
Case $ opt dans
a) résultat = 0
pour i dans "$ numarr [@]"; faire
((résultat = $ résultat + $ i))
fait
Echo "La somme de tous les arguments = $ résultat" ;;
m) Résultat = 1
pour i dans "$ numarr [@]"; faire
((résultat = $ résultat * $ i))
fait
Echo "La multiplication de tous les arguments = $ résultat" ;;
*) ECHO "Option ou argument non valide"
sortie 1
ESAC
fait
Exécutez les scripts avec l'option '-a' et trois arguments, avec l'option '-m' et trois arguments et l'option '-t' sans aucun argument.
$ bash getopts3.sh -a 3,2,5
$ bash getopts3.sh -m 3,2,5
$ bash getopts3.sh -t
Sortir:
Exemple-4: Utilisation de plusieurs options et arguments
Cet exemple montre l'utilisation de la commande getOPTS avec plusieurs options et plusieurs arguments. Créez un fichier bash nommé 'Getopts4.sh avec le code suivant pour tester l'exemple. Ici, deux options fonctionneront avec deux arguments séparément. Si aucune des options ne fournira, elle imprimera un message d'erreur.
#!/ bac / bash
tandis que Getopts "n: m:" Opt; faire
Case $ opt dans
n)
#Reading premier argument
Echo "Le nom de l'étudiant est $ optarg"> & 2
;;
m)
#Reading deuxième argument
Echo "et les marques est $ optarg"> & 2
;;
*)
# Message d'erreur d'empreinte
Echo "Option ou argument non valide $ optarg"
;;
ESAC
fait
Lorsque le script sera exécuté par l'option '-N' avec l'option 'Ella' et '-m' avec 85, alors deux instructions de cas seront vraies et imprimeront deux sorties. Lorsque le script s'exécutera uniquement par l'option '-n' avec 'ella', une seule instruction de cas sera vraie et imprimera une sortie. Lorsque le script est exécuté par l'option «-p», un message d'erreur imprimera.
$ bash getopts4.sh -n ella -m 85
$ bash getopts4.sh -n ella
$ bash getopts4.sh -p ella
Les utilisations de base de la commande `` getopts '' sont affichées dans ce tutoriel en utilisant les exemples ci-dessus. Espérons, après avoir pratiqué ce tutoriel, vous pourrez utiliser des options de ligne de commande et des arguments dans votre script bash.