Hvordan bruke variabler i bash

Hvordan bruke variabler i bash
For de som har utført noen programmeringsoppgaver før, vil de være kjent med variabler. Men for de som ikke har noen programmeringskunnskap, brukes variabler til å lagre et stykke informasjon midlertidig. Variabler er definert i et program for å lagre spesifikke typer data som heltall, float og strenger. Som vi vet at bash er et svakt typisk språk der variabler ikke er bundet med en bestemt datatype, trenger du derfor ikke å definere noen datatype til variabelen på erklæringstidspunktet. Hvis vi tildeler en numerisk verdi til en variabel, vil den ta den som et heltall, og i tilfelle av en tekstverdi, vil den oppføre seg som en streng. I bash -skript brukes variabler som kan defineres i en bash -fil eller fra terminalen, brukes til å administrere og kontrollere handlingene til hele bash -programmet. Variabler er ganske enkle å bruke, men hvis du ikke har en ordentlig forståelse av hvordan de fungerer da, kan du enkelt få deg i trøbbel.

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:

  • Angi en bestemt verdi for en variabel.
  • Les verdi for en variabel.

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:

  • Ikke bruk noe spesielt tegn eller $ -tegn mens du setter en variabel verdi
  • Når du leser en variabel, plasserer du et $ -skilt i begynnelsen av variabelnavnet
  • Noen programmerere skriver variabelnavn i alle store bokstaver, men vi kan tilordne navn i henhold til vår preferanse. De kan være alle store, små bokstaver eller en blanding av begge.

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

  • Hallo
  • N4
  • NUMMER_MY_ARRAY
  • _num

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 erklæring
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.

  • Sitater ”'
  • Bruk doble sitater for variabel substitusjon, du vil ikke bruke et eneste tilbud for å lese en variabel.
  • Bruk ((n = n+10)) Bruk innledende parentes for aritmetiske operasjoner, eller du kan bruke BC -kommandoen.
  • Arrays elementer du kan telle ved å bruke # med * tegn.

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.