Kako ravnati z argumenti ukazne vrstice v Bashu?

Kako Ravnati Z Argumenti Ukazne Vrstice V Bashu



V Linuxu uporabljamo argumente ukazne vrstice kot vhod za skript bash. Bash lahko zaporedno sprejme te argumente ukazne vrstice in jih razčleni kot možnost. Ti argumenti vam omogočajo, da dinamično vplivate na dejanja in izhod skripta.

Te argumente lahko konfigurirate drugače, da vplivajo na vhod in izhod. Zato je obravnavanje argumentov ukazne vrstice v bash bistvenega pomena, vendar se mora veliko novih uporabnikov naučiti, kako to storiti. Zato bomo v tem priročniku razložili različne načine obravnavanja argumentov ukazne vrstice v bashu.







Kako ravnati z argumenti ukazne vrstice v Bashu?

Obstaja več načinov za obdelavo argumentov ukazne vrstice v Bashu, zato si jih oglejmo, da dobimo kratke informacije:



Funkcija getopt



Funkcija getopt je priročna, saj nudi možnosti in sintakso za definiranje in razčlenjevanje argumentov v bash. Je vgrajena funkcija Linuxa, ki jo lahko uporabite med ustvarjanjem datoteke baze podatkov ali poročila v določeni obliki na podlagi argumentov. Funkcija getopt pomaga razčleniti kratke argumente ukazne vrstice, ker obstajata dve vrsti argumentov:





  • Kratki argumenti: To so argumenti z enim znakom, ki jim sledi vezaj. Na primer -a, -l, -h itd., je nekaj primerov posameznih argumentov.

  • Dolgi argumenti: To so večznakovni argumenti, ki jim sledi dvojni vezaj. Obstajajo različni primeri dolgih argumentov, kot so –all, –list, –help itd.

Vzemimo primer, kjer bomo obravnavali argumente ukazne vrstice s pomočjo pripomočka getopt. Ustvarili smo skript bash z imenom 'getopt.sh', ki vsebuje naslednje informacije:



!/ koš / bash

medtem getopts 'A:B:C:D:' podrobnosti; narediti

Ovitek ' $podrobnosti ' v

A )

odmev 'Državljansko ime je $OPTARG ' ;;

B )

odmev 'Državljanska izkaznica je $OPTARG ' ;;

C )

odmev 'Rojstni kraj je $OPTARG ' ;;

D )

odmev 'Poklic je $OPTARG ' ;;

* )

izhod 1 ;;

esac

Končano

premik ' $(($OPTING -1) )'



če [ ! -Z 1 dolar ] ; potem

odmev 'Zakonski stan $1'

drugače

odmev 'Brez vnosov'

izhod 1

biti



če [ ! -Z 2 $ ] ; potem

odmev 'Družinski člani $2'

biti

Zdaj pa izvedimo skript z zahtevanimi argumenti v vhodu:

Kot lahko vidite na zgornji sliki, zaženemo skript samo s funkcijami getopt in nato dodamo običajne argumente, da dobimo celoten rezultat.

Uporaba zastavic

Zastavice niso nič drugega kot posamezni znaki, pred katerimi so vezaji (-). Ko posredujemo argumente s funkcijo getopt, uporabljamo zastavice. -a, -b, -c je nekaj primerov zastavic. Pisava na primer zahteva ime, osebno izkaznico, kraj, starost in poklic državljana. Zato smo z zastavicami j, k, l, m, n istočasno določili ime, osebno izkaznico, kraj, starost in poklic:

#!/bin/bash

Medtem getopts j:k:l:m:n: informacija o zastavici

narediti

Ovitek ' ${flag_info} ' v
< ol >
< to > j ) državljansko ime = ${OPTARG} ;; to >
< to > k ) citizenid = ${OPTARG} ;; to >
< to > l ) mesto = ${OPTARG} ;; to >
< to > m ) starost = ${OPTARG} ;; to >
< to > n ) poklic = ${OPTARG} ;; to >
ol >
esac

Končano

odmev 'Tu so vneseni podatki:'

odmev 'Državljansko ime: $citizenname ' ;

odmev 'Izkaznica državljana: $citizenid ' ;

odmev 'Mesto: $place ' ;

odmev 'Starost: $starost ' ;

odmev 'Poklic: $poklic ' ;

Skript bo v terminalu dal naslednji rezultat:

. /< scenarij > .sh -j Danny -k 476 -l Toronto -m 25 -n Avtor

Uporaba [email protected] Z zankami

' [email protected] ” spremenljivka ni nič drugega kot niz vseh vhodnih argumentov. Posredujemo lahko poljubno število vnosov z uporabo ' [email protected] ” spremenljivka. To spremenljivko lahko uporabite kot zanko za ponavljanje argumentov. ' [email protected] ” spremenljivka pride prav; ne poznate velikosti vnosa in ne morete sprejeti pozicijskih argumentov. Zato lahko uporabite » [email protected] ”  namesto vedno znova definiranja funkcije getopt. Tukaj je primer uporabe zank in [email protected] skupaj v scenariju:

#!/bin/bash

na enem = ( “$ @ )



če [ $# -gt 1 ]

potem



dodati =$ ( ( ${num[0]} + ${num[1]} ) )

odmev 'Seštevanje vseh števil je: $dodaj '



odštevanje =$ ( ( ${num[0]} - ${num[1]} - ${num[2]} ) )

odmev 'Odštevanje števil je: $odštevanje '



pomnožiti =$ ( ( ${num[0]} * ${num[1]} * ${num[2]} ) )

odmev 'Množenje števil je: $pomnožiti '



delitev1 =$ ( ( ${num[0]} / ${num[1]} ) )

odmev 'Oddelek za ${num[0]} in ${num[1]} je: $division1 '



delitev2 =$ ( ( ${num[1]} / ${num[2]} ) )

odmev 'Razdelitev ${num[1]} in ${num[2]} je: $division2 '



delitev3 =$ ( ( ${num[0]} / ${num[2]} ) )

odmev 'Razdelitev ${num[0]} in ${num[2]} je: $division2 '



biti

Zgornji skript izvaja različne aritmetične izračune na podlagi argumentov ukazne vrstice. Na primer, kot vnos smo vnesli 50, 35 in 15:

Uporaba pozicijskih parametrov

Do pozicijskih parametrov lahko dostopate, ko najprej dostopajo do $1, nato do $2 in tako naprej. Na primer, ustvarimo skript, ki prebere ime kot prvi argument in nato mesto kot drugi. Vendar, če greste najprej mimo mesta in nato imena, potem ime obravnava kot mesto in obratno. Poglobimo se v naslednji skript, da bi razumeli ta koncept:

#!/bin/bash

odmev 'Tu so vneseni podatki'

odmev 'ime $1'

odmev 'mesto $2'

Ime in mesto morate dodati ob izvajanju skripta v terminalu:

Zavijanje

To je vse, kar morate vedeti o metodah za obravnavanje argumentov ukazne vrstice v bashu. Z ustreznimi primeri smo razložili različne pristope, ki jih lahko preizkusite. Obstajajo različni ukazi, če želite v skript dodati argumente. Zato obvezno obiščite Linuxhint, če želite izvedeti več o njih.