Bash Linux -omdirigeringsoperatører

Bash Linux -omdirigeringsoperatører
På Linux er terminalen alt, det er der vi passerer kommandoer, og det er der vi passerer skript. Derfor er et av de viktigste skriptspråkene bash. Bash -skripting brukes til å automatisere de kjedelige oppgavene i Linux. For å automatisere oppgaver er kommandoer skrevet i skriptet og gitt en utvidelse av .sh. Som en del av kommandoene brukes også visse operatører. Disse operatørene er unike for bash, og hver har sin egen spesifikke betydning. I denne opplæringen vil vi gjennomgå omdirigeringsoperatører som oppstår under bash -skripting og deres spesifikke betydning.

Omdirigeringsoperatør: <

Symbolet < is used for input redirection. Files, for example, can be used as input. However, in this case, the input redirection is a read-only redirection.

For eksempel:

#! /bin/bash
katt < file.txt

I dette tilfellet filen.TXT blir tatt som inngangen, og CAT -kommandoen katter den ut.

Omdirigeringsoperatør: <<

Omdirigeringsoperatøren << is also known as the here-document. The here-document allows one to put a line of input into a command in many.

For eksempel:

#! /bin/bash
katt << EOF
første linje
andre linje
Eof
toalett << EOF
første linje
andre linje
Eof

Ok, så her har vi to innspillslinjer. I den første delen sender vi inngangen til katten, som katter det hele ut. Og i den andre delen teller vi antall linjer, ord og tegn som bruker WC -kommandoen. Uansett er poenget at vi kunne sende flere linjer inn som inngang i stedet for en enkelt linje.

Omdirigeringsoperatør:>

Dette symbolet, kjent som fildirektøroperatøren, brukes vanligvis til å omdirigere innholdet i en kommando/fil til en annen av Overskriving den. Husk deg; det overskriver det - med fet og kursiv!

For eksempel:

#! /bin/bash
Ekko “Hello World '> Fil.tekst

Her er> symbolet likt 1>. Dette er fordi 1 er en filbeskrivelse for standardutgangen. Vær oppmerksom på at filbeskrivelsene er som følger:

0 - Standardinngang, stdin
1 - Standardutgang, stdout
2 - Standardfeil, stderr

I forrige scenario tilsvarte singelpilen 1>. Vi kan imidlertid også skrive 2> for å videresende standardfeilen.

For eksempel:

#! /bin/bash
MCAT -fil.txt 2> file2.tekst

Her betyr 2> at feilen som genereres vil bli dumpet i File2.tekst.

Omdirigeringsoperatør: >>

Symbolet >> brukes til å legge til og ikke å erstatte! Fildirektøroperatøren> erstatter eller overskriver alt mens >> brukes til å legge til. Det siste vil legge til innholdet som er spesifisert til slutten av filen.

For eksempel:

#! /bin/bash
ekko “Dette er den andre linjen” >> filen.tekst
ekko “Dette er den tredje linjen” >> filen.tekst

Sistnevnte vil legge de to linjene til filen som heter filen.tekst. Resultatet av filen.TXT vil da være som følger:

Omdirigeringsoperatør: |

Omdirigeringsoperatøren | brukes til å sende utdataene fra den første kommandoen som inngangen til den andre kommandoen. For eksempel, hvis jeg passerer en innledende kommando og deretter "rør", genereres utgangen av denne kommandoen ved å bruke | Operatør til en andre kommando, vil den bli mottatt som inngangen og deretter behandlet.

For eksempel:

#! /bin/bash
ls-la | sed 's/bash/viderekobling_operator/'

Her brukes sed med S -kommandoen til å erstatte ett navn med et annet. Så, sed 's/bash/viderekobling_operator/' brukes til å erstatte ordet bash med ordet omdirigering_operator.

Så hva gjør vi her? Vel, 'ls -la' vil liste opp alt i detalj, og røroperatøren vil ta dette og sende det til den andre kommandoen. Den andre kommandoen (sed 's/bash/viderekobling_operator/') vil erstatte ordet bash med ordet omdirigering_operator, og skrive den ut på skjermen.

Omdirigeringsoperatør:> &

Dette symbolet omdirigerer både standardutgangen og standardfeilen.

For eksempel;

bash -c 'ls -la> & fil.tekst'

I dette tilfellet viderekobler> & symbolet både standardutgangen og standardfeilen til filen som heter fil.tekst. Dermed plasseres både utdata generert og feilen som genereres i samme fil.

Anta nå at vi skriver dette i stedet:

bash -c 'mls -la> & fil.tekst'

I dette tilfellet bør det genereres en feil fordi det ikke er noen MLS -kommando. Her vil feilen også bli sendt til filen.txt -dokument.

Omdirigeringsoperatør:> |

Det er tider hvor du ikke kan overskrive en fil på grunn av filbegrensninger. Anta nå at du har en fil som heter fil.txt som ikke kan overskrives.

Så følgende kommando vil faktisk ikke overskrive en fil:

#! /bin/bash
ekko “ehlo”> /tmp /fil.tekst

Vi bruker operatøren> | For å overskrive filen i slike tilfeller med å overskrive i slike tilfeller.

Her ville vi skrevet følgende for å overskrive filen med makt:

#! /bin/bash
ekko “Ehlo”> | /tmp/fil.tekst

Omdirigeringsoperatør: & >>

Operatøren og >> vil legge til standardutgangen og standardfeilen til den spesifiserte filen.

Eks:

#! /bin/bash
LSL & >> fil.tekst

I dette eksemplet har vi en fil som heter fil.txt, som inneholder to linjer. Når vi utfører manuset som heter Bash.SH, som inneholder en kommando som ikke eksisterer, dette skal kaste en feil. Denne feilen blir fanget og lagt på filen.tekst. Hvis kommandoen ikke hadde inneholdt noen feil, ville den også ha fanget den og sendt den for å legge den til filen som heter filen.tekst.

Omdirigeringsoperatør: <<-

Omdirigeringsoperatøren <<- will strip all tabs from a multi-line input.

For eksempel:

#! /bin/bash
mer <<- EOF
første linje
andre linje
Eof

Her er det faner før de to inputlinjene (første linje, andre linje). Men når utgangen genereres, blir fanene ignorert.

Omdirigeringsoperatør:

Overføringsoperatøren åpner en fil for både lesing og skriving.

Bash Scripting er et sentralt skriptspråk som kan brukes til å automatisere oppgaver. Under bashskripting møter vi mye kode, men vi møter også omdirigeringsoperatører som er unike å bash. Disse operatørene har hver en bestemt rolle i bashskripting, og de er ikke alltid åpenbare. I denne opplæringen vurderte vi noen få omdirigeringsoperatører som ble brukt mens de skrev bash -skript. Det er klart det er mange viderekoblingsoperatører der ute; Imidlertid blir noen møtt så ofte at det kan være nødvendig å kjenne dem mens du baserer skripting. Så gå ut, fryktløs for omdirigeringsoperatører herfra og utover!

Glad koding!