I denne artikkelen vil vi diskutere en rekke forskjellige metoder som vi kan forstå hvordan vi kan lage og bruke variabler i et bash -skript. Vi har utført forskjellige eksempler relatert til variabler på Ubuntu 20.04 Linux distribusjon. La oss starte demonstrasjonen.
Hvordan fungerer variabler?
Som vi nevnt ovenfor, er en variabel en midlertidig lagring for et stykke informasjon.
Følgende to handlinger du kan utføre mens du bruker en variabel i et bash -skript:
Du kan verdsette variabler ved å bruke forskjellige måter. Det vanligste er å direkte angi en verdi til en variabel, eller du kan angi verdien som et resultat av kommandoprosessering eller et program.
Når vi leser en variabel, må vi plassere navnet med $ tegnet i begynnelsen av den variabelen som du kanskje vil lese. Før du utfører hver linje i et bash -skript, sjekker det først om noen variabelnavn er til stede. Den finner hver variabel og erstatter verdien med navnet på variabelen. Deretter starter det utførelsen av en bestemt kodelinje og gjentar prosessen for neste linje.
Det følger noen viktige punkter på syntaks som du trenger å følge mens du leser en variabel:
Du kan angi og lese data fra en variabel gjennom terminalen på følgende måte: Først må du åpne terminalapplikasjonen på systemet ditt. Åpne terminalen ved hjelp av tastatursnarveien ved å trykke på 'Ctrl + Alt + T'. Eller du kan åpne den gjennom søkelinjen. Klikk på 'Aktiviteter' og skriv deretter 'Terminal' i søkefeltet som vises på skrivebordet og trykk 'Enter'. Du vil se følgende utdata på terminalskjermen. Klikk på terminalikonet og start det.
Den grunnleggende syntaks for variabel erklæring; Angi variabel verdi
Som vi har diskutert tidligere i Bash, trenger vi ikke å definere variabel type når du erklærer en variabel. Du trenger ikke å erklære en variabel. Bare tilordne en verdi til en variabel for å referere den til.
variabel_name = verdi
For eksempel ønsker vi å tilordne en verdi som strengen 'Welcome to Bash -programmering: bruk av variabler' til en variabel kalt 'var_str'. Ved å bruke følgende kommando kan du gjøre denne oppgaven:
var_str = "Velkommen til bash -programmering: bruk av variabler"
I motsetning til de fleste av de andre moderne programmeringsspråkene, tilbyr Bash en kresen syntaks for innstilling av variabler. Du bør være klar over at det ikke er behov for å legge til hvitrom mellom variabelnavnet, like symbolet og verdien du vil tilordne det. Ellers vil den kaste en feilmelding.
my_var = "si hei"
I kommandoen ovenfor vil du motta en feil på grunn av hvitrommet etter det likeverdige tegnet og den tildelte verdien.
Eksempel: Erklæring og lesing av en streng ved hjelp av variabel
La oss ta et eksempel der vi lagrer en streng “Regler: Hvordan bruke en variabel i bash” og deretter hentes variabelverdien gjennom ECHO -kommandoen ved å legge til "$" -tegnet i begynnelsen av variabeltnavnet. Følgende kommando du må følge for å vise en streng på terminalen:
$ my_var = "Regler: Hvordan bruke variabelen i bash"
$ ekko $ my_var
Du vil se følgende utgang på terminalvinduet:
Hvis du ikke vil bruke '$' -tegnet da, vil programutgangen vise forskjellige resultater, og det kan hende du ikke får den nødvendige utgangen. La oss vise deg følgende eksempel:
$ my_var = "Regler: Hvordan bruke en variabel i bash"
$ ekko my_var
I kommandoen ovenfor fjernes '$' -tegnet med variabelnavnet 'Echo My_var'. Så du vil bare hente navnet på variabelen på utgangen.
Gyldige variabelnavn
Du kan tilordne variabelnavn understreker og sekvenser av alfanumeriske tegn.
Variabelnavnet skal starte med alfanumeriske tegn eller understreker. Det skal ikke startes med et tall eller siffer.
Eksempler på variabler navn
Kombinere to variabler utgang
Du trenger ikke å bruke noen operatør for å kombinere to eller flere variabler som andre språk.
Eksempel
Her bruker vi for eksempel en $ var1 der strengverdien som skal lagres, og $ var2 brukes til å lagre ethvert heltall eller en numerisk verdi. Utfør følgende kommandoer på terminalen som vil kombinere var1- og var2 -utgangen.
$ var1 = "Prisen på huset er $"
$ var2 = 50
$ ekko $ var1 $ var2
Følgende utgang vil bli vist på terminalen etter å ha utført de ovennevnte kommandoene:
Viktig notat:
Utgangen kan skrives ut uten å bruke noe sitat, men hvis du vil bruke sitater, må du bare bruke dobbelt-sitater.
Samvirke to variabler
Doble sitater brukes til å lese variabelenes verdi i bash.
Eksempel
La oss ta et eksempel på sammenkobling av to variabler. Vi har brukt doble sitater for en ekko -uttalelse og et enkelt sitat for en annen ekko -uttalelse. Vi har utført følgende kommandoer på terminalen om at du kan sjekke den nedenfor-nevnte utgangen:
$ var = "Variabel sammenkobling i"
$ ekko "$ var programmering"
$ ekko '$ var programmering'
I skjermbildet ovenfor kan du observere at når du har brukt de doble sitatene med Echo -kommando da, leser den variabel verdi. Når det gjelder et enkelt sitat, er det ikke i stand til å lese den variable verdien.
Gjør aritmetiske operasjoner ved å bruke variabler
I bash -programmering kan vi gjøre forskjellige aritmetiske oppgaver som andre programmeringsspråk. Det tar numeriske verdier eller heltall som strenger. Du kan imidlertid ikke utføre noen aritmetisk operasjon ved å bruke bare normale enkle uttrykk. Det kombinerer bare de numeriske verdiene i så fall. Ved å bruke dobbeltstart- og sluttbrakettene med uttrykket, kan du utføre aritmetiske operasjoner.
Eksempel
For eksempel har vi en variabel n der 50 numeriske verdier er lagret. Vi ønsker å legge til mer 20 i variabel da, ved å bruke følgende kommando kan du utføre denne operasjonen:
$ n = 50
$ ekko $ n
$ ekko $ n+20
$ ((n = n+20)))
$ ekko $ n
I kommandoen ovenfor har du sett $ n+20 -kommandoen bare kombinere to verdier. Det gir deg ikke ønsket utgang. Ved å legge til innledende parentes ((n = n+20)) har du utført den aritmetiske operasjonen med resultat 70.
Gjør aritmetisk operasjon ved å bruke BC -kommando
Den andre metoden for å utføre aritmetiske operasjoner er bruken av BC -kommando i bash.
Eksempel
Ved å bruke følgende kommandoer på terminalen kan du utføre aritmetiske oppgaver:
$ n = 65
$ ekko $ n/10 | BC
I koden ovenfor kan du se at når du har brukt BC -kommandoen for å gjøre aritmetisk operasjonsavdeling, så utelot den brøkdelene fra resultatet.
$ n = 65
$ ekko $ n/10 | BC -L
Når du har brukt -l -alternativet med BS -kommandoen, får du også brøkverdien som et resultat.
Bruk av variabler i en bash -skriptfil
Du kan også initialisere en variabel i et bashskript ved å bruke den samme metoden som er nevnt i eksemplene ovenfor. Du må imidlertid opprette en bash -skriptfil. For å gjøre det, lag en fil ved hjelp av en tekstredigerer og lim inn følgende kode i den. Nå, lagre den med .bash eller .SH -forlengelse.
Eksempel
I det følgende skriptet har vi erklært at to variabler er en streng, og den andre har numeriske verdier. Vi vil trekke fra 10 fra det gitte nummeret. Utfør følgende skript for dette formålet:
#!/bin/bash
STR = "Hvordan bruke variabler i bash -skript"
# Vis strengverdi
ekko $ str
Num = 100
# Trekk fra 10 numeriske verdier fra et variabelt num = 100
((resultat = $ num-10)))
# Vis den numeriske utgangen
ekko $ resultat
Du vil se følgende utgang på terminalen:
Bruk av lokale og globale variabler
Som andre programmeringsspråk, kan du definere lokale og globale variabler i bash -programmering. La oss utdype begrepet lokale og globale variabler med et eksempel.
Eksempel
I det følgende bash -skriptet har vi for eksempel brukt lokale og globale variabler. Følgende skript har en global variabel som heter 'num' og to lokale variabler brukes kalt 'num' og 'm'.
Vi ønsker å legge til to variable verdier ved hjelp av et funksjonstilsetning (). Når denne funksjonen vil kalle verdien av den lokale variabelen 'Num' tas for beregning, men antallet som er en global variabel forblir uendret. Når vi skal erklære lokale variabler, må vi bruke et lokalt nøkkelord med variabelnavnet.
#!/bin/bash
Num = 10
Funksjons tillegg ()
Lokalt num = 10
Lokal M = 10
((num = num+m))
ekko $ num
addisjon
ekko $ num
Kjør skriptet ovenfor ved hjelp av følgende kommando:
$ BASH ADDFUN.sh
Følgende utgang vises på terminalen etter å ha kjørt skriptet ovenfor:
Hvordan du bruker matrisevariabler i bash
Arrays brukes til å lagre listen over data. Derfor, i bash -skriptet, kan vi også bruke matrisevariabler for å lagre data.
Eksempel
La oss ta et eksempel som vil vise deg hvordan du bruker matrisevariabler i bash -skriptet. Arrays -elementene er atskilt med spesifikasjoner i bash -programmering. Her har vi tatt en rekke 5 elementer. Vi har ingen forhåndsdefinerte funksjoner for å telle den totale arrayens elementer. I bash brukes # med * eller '@' til å telle det totale antallet matrise elementer. Alle matriseelementer er indikert med * tegn. Vi har brukt en sløyfe for å iterere i matriseelementene. Deretter vil skriptet lese arrayverdiene og med en tast og vil skrive ut utgangen på terminalen.
#!/bin/bash
my_arr = (Centos ubuntu Debian Linux Mint Solaris MacOS Windows)
# Tell det totale antallet elementer i en matrise
Totalt = $ #my_arr [*]
ekko "Total matriseelementer er: $ total"
#displayverdi for hvert element i en matrise
Ekko "Array Elements Values:"
for val i $ my_arr [*]
gjøre
printf " %s \ n" $ val
Ferdig
#display hver arrays elementverdi med en nøkkel
Ekko "Array Elements Values with Key:"
for nøkkel i $ !my_arr [*]
gjøre
printf " %4d: %s \ n" $ nøkkel $ my_arr [$ nøkkel]
Ferdig
Følgende utgang vises på terminalen:
Vi oppsummerer et viktig nøkkelpunkt om variablene i bash -programmering:
variabel_name = verdi
Mens du setter en verdi for en variabel. Du må huske at du ikke trenger å legge til mellomrom på hver side av = tegnet.
Konklusjon
I denne artikkelen har vi forklart et klart konsept om bashvariabler som hvordan vi kan erklære og lese variablerverdier i bash -programmering. Hvis du vil utøve de ovennevnte eksemplene, vil du kunne håndtere variabler mer effektivt i bash-skript. Vi har utført forskjellige kommandoer på terminalen, så vel som også har utført i et bash -skript. Bash -kommandoer på kommandolinjen fungerer nøyaktig det samme som i et bash -skript, men når du har et stort stykke kode, kan du administrere det i en skriptfil i stedet for å kjøre en etter en på terminalen.