I denne artikkelen fremhever vi bruken av spesielle variabler i bash. Det er en fil som kan brukes til å behandle kommandoer som kan legges inn i et terminalvindu. Dette innlegget inneholder flere kommandoer for utførelse. Definisjonen av spesielle variabler og deres formål vil bli dekket først.
Hva er spesielle variabler i bash?
Spesielle variabler er de hvis betydninger er forhåndsdefinert. De er distribuert for å administrere kontrollstrømmen til bashskriptet.
Det er umulig å få verdiene sine, men å gi verdier til dem er umulig.
Bash vs Shell
En dataprogramvare kjent som et "skall" mottar kommandoer, tolker dem og sender dem deretter til operativsystemet for behandling. De fleste operativsystemer bygget på Linux har minst en skallprogramvare. Dash, bash, eller begge deler vil sannsynligvis være Shell -applikasjonen.
Bash er enkel å bruke og mindre bærbar enn skallskripting
Shell -skriptbruk blant brukerne er mer sannsynlig å øke jo lenger de bruker Linux. Du bør oppfordre dem til å bruke Shell Scripting til å begynne med for å utføre enklere jobber før du flytter til tradisjonell utvikling når de har fått en ufravikelig murvegg. Shell -skript er en utmerket tilnærming for å begynne å programmeres fordi de er så enkle å forstå og utvikle.
Eksempler på spesielle variabler i bash:
Her er noen eksempler på spesielle variabler i bash.
Variabel | Hensikt |
---|---|
-$* | Dollar Star, lagrer hele parameteren på en enkelt streng |
-$# | Det er flere argumenter som er spesifisert i kommandolinjen |
$ 0 | Dette representerer navnet på filen |
$ 1 | Det representerer det første argumentet |
$ 2 | Dette er det andre argumentet fra kommandolinjen |
$@ | Det brukes til hver streng behandlet som et eget argument |
$? | Dette avslører den siste kommandos utgangsstatus. |
$$ | Dette gir prosess -ID for det nåværende skallet |
$! | Dette viser PID for den siste bakgrunnsjobben som er gjort |
$ | Dette viser PID for den siste bakgrunnsjobben som er gjort |
BRUKER | brukeren hvis skript blir drevet av brukernavnet deres |
Nå kan vi bruke noen av eksemplene på spesielle variabler og se hvordan vi kan kjøre dem i programmene våre.
Eksempel på $*:
Dette eksemplet er for alle nivåer av utviklere. Her vil vi se hvordan og hvor vi kan bruke den spesielle variabelen $*
ekko “Dette er min” “bashartikkel”; $*
I dette eksemplet ovenfor skriver vi to separate setninger i doble sitater, og på slutten av denne setningen legger vi til et semikolon (;) og $*(dollar*). Som et resultat får vi en enkelt setning, dette betyr at Bash erkjenner dette som et enkelt sitat.
Her er resultatet:
Dette er bashartikkelen min
Eksempel på $ 0:
$ 0 er en spesiell variabel av bash som viser filnavnet på skriptet som kjører i terminalen din, for eksempel hvis vi skriver:
ekko $ 0
Så i dette eksemplet ovenfor når vi skriver $ 0, som et resultat, får vi en produksjon av Main.sh. Derfor, hoved .SH er vårt filnavn.
hoved-.sh
Eksempel på $?:
$? er en spesiell variabel av bash som gir utgangskoden til den siste kommandoen til terminalen. Å kjenne den siste kommandoen vil lette brukeren å fortsette med skriptet sitt.
Så i koden nedenfor hvis vi skriver “Echo $?”
ekko $?”
Utgangen er gitt nedenfor:
0 ”
Nå som vi har skrevet $? Og hvis vi mottok et resultat av 0 i terminalen vår, betydde det at det nåværende programmet hadde blitt fullført riktig. Imidlertid, hvis vi fikk et resultat av 1 eller flere som (123456789), betydde det at det var et programmeringsproblem, eller vi fikk en feil.
La oss forstå uttalelsen ovenfor med et kodebit gitt nedenfor.
RM “Mitt filnavn”
Resultatet vises her.
0
RM: Kan ikke fjerne 'Filnavnet mitt
: Ingen slik fil eller katalog
Vi fikk 0, men i neste kode fikk vi en feil (kode 1) RM: Kan ikke fjerne 'Filnavnet mitt ingen slik fil eller katalog. Så vi har ingen fil som heter "Mitt filnavn" i katalogen vår, og det er grunnen til at vi mottok en feil som [Utførelse komplett med Exit Code 0]
Eksempel på $!:
Denne $! (Dollar utropstegn) er en spesiell variabel av bash som gir PID (prosess -ID) til den siste bakgrunnsjobben som er gjort.
Vi kan ikke tildele verdi til dem bare referanser aksepteres for dem.
La oss undersøke uttalelsen ovenfor i vår kodingsterminal med følgende kode:
ekko $!
Vår prosess -ID for den nylige bakgrunnsjobben kan sees i utdataene som det antallet vi får som et resultat. I utdataene står det [utførelsen fullføres med exit code 0].
Eksempel på $-:
Dollaren bindestrek ($-) er en spesiell variabel som gir flaggene som er i bruk av bash-skallet.
La oss se eksemplet og dets utdata i terminalen vår.
ekko $-
Vårt nåværende bash -skall har -h og -b, flaggene som er tilgjengelige i vår terminal
hb
Flagg brukes til å sette opp alternativer og argumenter for kommandoene du kjører.
Eksempel på $$-:
$$ returnerer PID -nummeret til det aktive skallet. Uansett om du bruker en spesifikk bashvariabel fra Linux -ledeteksten eller i skallskriptet, har dette varierende effekter. Dette er slik fordi Active Bash Shells prosess -ID genereres av $$. Imidlertid lanseres et nytt bash -skall når du starter et nytt manus.
La oss bruke følgende kode for å teste dette ut.
ekko $$
I utgangen gitt nedenfor fikk vi 36 som vår PID.
36
Nå kan vi se det kombinerte eksemplet på spesielle variabler og resultatene deres, slik at vi kan forstå det i ett grensesnitt.
ekko “Brukernavn er: $ bruker”
Echo “Computer Hostname Is: $ hostname”
ekko "tilfeldig tall er $ tilfeldig"
ekko “Prosess -ID er: $$”
I utdraget brukte vi $ bruker, $ hostingName, $ tilfeldig og $$. Som et resultat har vi utdataene fra vertsnavn, tilfeldig antall og vår prosess med ID (PID) vi ga ikke et brukernavn, så det viser ingenting for brukerne våre.
Brukernavn er:
Datamaskinens vertsnavn er: 169.254.212.113
Tilfeldig nummer er 20057
Prosess -ID er: 125
Konklusjon
Vi dekket bash -skripting, mange basiske spesielle variabler, hvordan og hvor du kan bruke dem, og hvordan vi skal utføre programmer i det. Hver av disse variablene er unike fra hverandre og handler annerledes. I tillegg tilbød vi eksempler på hvordan du bruker dem i bashterminalen og gir også syntakser, for forklaring og gir mer klarhet til nybegynnere.