30 bash script Interviewspørgsmål og svar

30 Bash Script Interview Questions



Bash -scripting er et meget nyttigt og kraftfuldt programmeringssprog, der hovedsageligt bruges til at automatisere enhver manuel opgave. En jobsøgende, der ønsker at være en automatiseringstester eller bash -programmør, skal stå over for nogle almindelige spørgsmål i interviewet. Der findes forskellige typer shell -scripts i Linux. Et af de populære og mest brugte shell -scripts er Bourne Again Shell eller Bash. 30 vigtige interviewspørgsmål og svar om bash scriptsprog er beskrevet i denne artikel for at forberede jobbet.

#01. Hvad er bash script?

Bash -scriptet er et shell -programmeringssprog. Generelt kører vi mange typer shell -kommandoer fra terminalen ved at skrive hver kommando separat, der kræver tid og kræfter. Hvis vi skal køre de samme kommandoer igen, skal vi udføre alle kommandoerne fra terminalen igen. Men ved hjælp af et bash -script kan vi gemme mange shell -kommandosætninger i en enkelt bash -fil og udføre filen når som helst med en enkelt kommando. Mange systemadministrationsrelaterede opgaver, programinstallation, disk -backup, evaluering af logfiler osv. Kan udføres ved hjælp af korrekt bash -script.







#02. Hvad er fordelene ved at bruge bash -scripts?

Bash -script har mange fordele, som er beskrevet nedenfor:



  • Det er let at bruge og lære.
  • Mange manuelle opgaver, der skal køres ofte, kan udføres automatisk ved at skrive et bash -script.
  • Sekvensen af ​​flere shell -kommandoer kan udføres med en enkelt kommando.
  • Bash -script skrevet i et Linux -operativsystem kan let udføres i et andet Linux -operativsystem. Så den er bærbar.
  • Debugging i bash er lettere end andre programmeringssprog.
  • Kommandolinjesyntaks og kommandoer, der bruges i terminalen, ligner kommandoer og syntaks, der bruges i bash-script.
  • Bash -script kan bruges til at linke til andre script -filer.

#03. Nævn ulemperne ved bash scripts

Nogle ulemper ved bash script er nævnt nedenfor:



  • Det fungerer langsommere end andre sprog.
  • Det forkerte script kan beskadige hele processen og generere en kompliceret fejl.
  • Det er ikke egnet til at udvikle en stor og kompleks applikation.
  • Den indeholder mindre datastruktur sammenlignet med andre standard programmeringssprog.

#04. Hvilke typer variabler bruges i bash?

To typer variabler kan bruges i bash script. Disse er:

Systemvariabler
De variabler, der er foruddefineret og vedligeholdt af Linux-operativsystemet, kaldes systemvariabler. Denne type variabler bruges altid med et stort bogstav. Standardværdierne for disse variabler kan ændres baseret på krav.

`sæt`,` env` og ` printenv `kommandoer kan bruges til at udskrive listen over systemvariabler.

Eksempel:





#!/bin/bash
# Udskrivning af systemvariabler

#Print Bash shell navn
smed ud $ BASH

# Udskriv Bash shell Version
smed ud $ BASH_VERSION

# Udskriv Hjem -biblioteksnavn
smed ud $ HJEM

Brugerdefineret variabel

De variabler, der oprettes og vedligeholdes af brugere, kaldes brugerdefinerede variabler. De kaldes også lokale variabler. Disse typer variabler kan deklareres ved at bruge små eller store bogstaver eller både store og små bogstaver. Men det er bedre at undgå at bruge alle store bogstaver til at differentiere variablerne fra systemvariabler.
Eksempel:

#!/bin/bash

på en=100
smed ud $ num

#05. Hvordan deklareres og slettes variabler i bash?

Variablen kan deklareres i bash efter datatype eller uden datatype. Hvis en bash -variabel erklæres uden erklære kommando, vil variablen blive behandlet som en streng. Bash -variabel erklæres med erklære kommando for at definere datatypen for variablen ved tidsangivelsen.



–R , -i, -a, -A, -l, -u, -t og -X muligheder kan bruges med erklære kommando til at deklarere en variabel med forskellige datatyper.

Eksempel:

#!/bin/bash

#Erklær variabel uden nogen form
på en=10

#Værdier kombineres, men tilføjes ikke
resultat=$ num+tyve
smed ud $ resultat

#Deklarér variabel med heltalstype
erklære -jeg på en=10

#Værdier tilføjes
erklære -jeg resultat= num+tyve
smed ud $ resultat

ikke indstillet kommando bruges til at fjerne enhver bash -variabel. Variablen vil være utilgængelig eller udefineret efter brug ikke indstillet kommando.

Eksempel:

#!/bin/bash

s='Linux -tip'
smed ud $ str
ikke indstillet $ str
smed ud $ str

#06. Sådan tilføjes kommentarer i et bash -script?

Single line og multi-line kommentarer kan bruges i bash script. ' # 'Symbolet bruges til enlinjes kommentar. '<<’ symbol med en afgrænser og ':' med single (‘) bruges til tilføjelse af kommentarer med flere linjer.

Eksempel:

#!/bin/bash
#Udskriv teksten [Kommentar på en linje]
smed ud 'Bash programmering'
< Beregn summen
Af to tal [kommentar på flere linjer]
Tilføj kommentar

på en=25+35
smed ud $ num
:'
Kombiner to
Strengdata [flerlinjes kommentar]
'

Snor='Hej'
smed ud $ streng'Verden'

#07. Hvordan kan du kombinere strenge i et bash -script?

Stringværdier kan kombineres i bash på forskellige måder. Normalt kombineres strengværdierne ved at placere dem sammen, men der er andre måder i bash at kombinere strengdata.

Eksempel:

#!/bin/bash
#Initialiser variablerne
str1='PHP'
str2='Bash'
str3='Perl'

# Udskriv streng sammen med mellemrum
smed ud $ str1 $ str2 $ str3

#Kombiner alle variabler, og gem i en anden variabel
s='$ str1,$ str2og$ str3'

#Kombiner andre strengdata med strengens eksisterende værdi
str + ='er scriptsprog'

#Udskriv strengen
smed ud $ str

#08. Hvilke kommandoer bruges til at udskrive output i bash?

`ekko` og `printf` kommandoer kan bruges til at udskrive output i bash. `ekko `kommando bruges til at udskrive det simple output og `printf` kommando bruges til at udskrive det formaterede output.

Eksempel:

#!/bin/bash

#Udskriv teksten
smed ud 'Velkommen til LinuxHint'
websted='linuxhint.com'
#Udskriv den formaterede tekst
printf '%s er et populært blogwebsted n' $ websted

#09. Hvordan tager man input fra terminalen i bash?

`læs` kommando bruges i et bash script til at tage input fra terminalen.

Eksempel:

#!/bin/bash
#Udskriv besked
smed ud 'Indtast dit navn'
#Tag input fra brugeren
Læsnavn
# Udskriv værdien af ​​$ name med en anden streng
smed ud 'Dit navn er$ navn'

#10. Hvordan bruges kommandolinjeargumenter i bash?

Kommandolinjeargumenter læses af $ 1, $ 2, $ 3 ... $ n variabler. Kommandolinjeargumentværdier findes i terminalen, når bash-scriptet udføres. $ 1 bruges til at læse det første argument, $ 2 bruges til at læse det andet argument og så videre.

Eksempel:

#!/bin/bash
#Kontroller, at der er givet argumenter eller ej
hvis [[ $ # -ækv 0 ]];derefter
smed ud 'Der gives ikke noget argument.'
Afslut 0
være
#Gem den første argumentværdi
farve=$ 1
# Udskriv argumentet med en anden streng
printf 'Din yndlingsfarve er %s n' $ farve

#11. Er bash et svagt tastet sprog? Hvorfor?

Ja, bash betragtes som et svagt eller løst tastet sprog, fordi det ikke kræver at deklarere datatypen på tidspunktet for variabeldeklaration. Alle bash -variabler behandles som en streng som standard, og variabeltypen indstilles baseret på den aktuelle værdi. Bash -variabler med datatyper kan defineres ved hjælp af erklære kommando med en bestemt mulighed. Men mulighederne for at definere datatyper er begrænsede og understøtter ikke alle typer data. For eksempel, flyde datatype kan ikke deklareres ved hjælp af erklære kommando.

Eksempel:

#!/bin/bash

#Datatypen for $ myVar er som standard streng
myVar=29

# Udskriv variablen
smed ud $ myVar

# Deklarer heltalsvariabel $ -nummer med værdien 67
erklære -jeg nummer=67

#Udskriv variablen
smed ud $ nummer

# Tildel strengdata til den numeriske variabel. Følgende linje genereres
# syntaksfejl og værdien af ​​$ number ændres ikke
nummer='Jeg kan godt lide bash'
smed ud $ nummer

#12. Hvordan læser man det andet ord eller den anden kolonne fra hver linje i en fil?

Det andet ord eller kolonne i en fil kan læses i et bash -script ved let at bruge forskellige bash -kommandoer, f.eks. 'Awk', 'sed' osv. Her kan brugen af `ak ' er vist i det følgende eksempel.
Eksempel: Antag, at kursus.txt -filen indeholder følgende indhold, og vi har kun udskrevet det andet ord i hver linje i denne fil.

CSE201 Java -programmering
CSE303 datastruktur
CSE408 Unix -programmering#!/bin/bash
# Det følgende script udskriver det andet ord i hver linje fra filen course.txt.
# output af kat -kommando vil gå videre til awk -kommando, der vil læse det andet ord
# af hver linje.
smed ud ``katkursus.txt| awk '{print $ 2}'``

#13. Hvordan deklareres og få adgang til en matrixvariabel i bash?

Både numeriske og associative arrays understøttes af et bash -script. En matrixvariabel kan erklæres med og uden kommando. -til option bruges med kommandoen deklarere til at definere et numerisk array og -TIL option bruges med erklæringserklæring til at definere et associativt array i bash. Uden kommando deklarere kan det numeriske array kun defineres i bash.

Eksempel:

#!/bin/bash

# Angiv et simpelt numerisk array
arr1=(CodeIgniter Laravel ReactJS)

# Udskriv den første elementværdi på $ arr1
smed ud $ {arr1 [0] {

# Deklarer et numerisk array ved hjælp af kommando
erklære -til arr2=(HTML CSS JavaScript)

# Udskriv den anden elementværdi på $ arr2
smed ud $ {arr2 [1]}

# Deklarer et associativt array ved hjælp af erklæringserklæring
erklære -TIL arr3=( [ramme]= Laravel[CMS]= Wordpress[Bibliotek]= JQuery)

# Udskriv den tredje elementværdi på $ arr3
smed ud $ {arr3 [Bibliotek]}

Alle elementer i en matrix kan tilgås ved hjælp af en hvilken som helst sløjfe eller et**symbol som et matrixindeks.

#14. Hvordan kan betingede udsagn bruges i bash?

Den mest almindelige betingede erklæring i de fleste programmeringssprog er if-elseif-else udmelding. Syntaksen for hvis-elseif-else sætning i bash er lidt forskellig fra andre programmeringssprog. 'Hvis' sætning kan erklæres på to måder i et bash script og enhver type 'hvis' blok skal lukkes med 'være' . 'hvis' sætning kan defineres af tredje parentes eller første parentes ligesom andre programmeringssprog.

Syntaks:
TIL.

hvis [tilstand];
derefter
udsagn
være

B.

hvis [tilstand];derefter
udsagn1
andet
udmelding2
være

C.

hvis [tilstand];derefter
udmelding1
elif[tilstand];derefter
udmelding2
….
andet
erklæring n
være

Eksempel:

#!/bin/bash

# Tildel en værdi til $ n
n=30
# Kontroller, at $ n er større end 100 eller ej
hvis [ $ n -gt 100 ];derefter
smed ud '$ ner mindre end 100 '
# Kontroller $ n id større end 50 eller ej
elif [ $ n -gt halvtreds ];derefter
smed ud '$ ner mindre end 50 '
andet
smed ud '$ ner mindre end 50 '
være

#15. Hvordan sammenlignes værdier i bash?

Seks typer sammenligningsoperatorer kan bruges i bash til at sammenligne værdier. Der er to måder at bruge disse operatorer på bash afhængigt af datatypen. Disse er nævnt nedenfor.

Strengesammenligning Heltal lighed Beskrivelse
== -ækv Det bruges til at kontrollere ligestilling
! = -Født Det bruges til at kontrollere ulighed
< -lt Det bruges til at kontrollere, at den første værdi er mindre end den anden værdi eller ej
> -gt Det bruges til at kontrollere, at den første værdi er større end den anden værdi eller ej
<= -det Det bruges til at kontrollere, at den første værdi er mindre end eller lig med den anden værdi eller ej
> = -give Det bruges til at kontrollere, at den første værdi er større end eller lig med den anden værdi eller ej

Eksempel:

#!/bin/bash
# Initialiser $ n
n=130
eller='også selvom'
# Kontroller, at $ n er større end eller lig med 100 eller ikke bruger ‘–ge’.
hvis [ $ n -give 100 ];derefter
smed ud '$ ner større end eller lig med 100 '
andet
smed ud '$ ner mindre end 100 '
være
# Kontroller, at $ n er lige eller ulige ved hjælp af '==' operator
hvis (( $ o=='også selvom' ));derefter
smed ud 'Tallet er lige'
andet
smed ud 'Tallet er ulige'
være

#16. Hvilken betinget erklæring kan bruges som et alternativ til if-elseif-else-sætninger i bash?

'sag' udsagn kan bruges som en alternativ tp hvis-ellers-hvis udmelding. Syntaksen for 'sag' sætning i bash scripts er forskellig fra switch-etui angivelse af andre programmeringssprog. 'sag' blok er lukket af 'Esac' udsagn i bash. Nej ' pause 'Udsagn bruges inde' sag 'Blok for at afslutte fra blokken.

Syntaks:

sag i
Match mønster1)kommandoer;;
Match mønster2)kommandoer;;
……
Matchmønster n)kommandoer;;
esac

Eksempel:

#!/bin/bash
#Initialiser den variable $ billet
billet=101
# Sammenlign værdien af ​​$ billet med 23, 101 og 503
sag $ billet i
2. 3)
# Udskriv besked, hvis værdien er 23
smed ud 'Du fik førstepræmien';;
101)
# Udskriv besked, hvis værdien er 101
smed ud 'Du fik andenpræmien';;
503)
# Udskriv besked, hvis værdien er 503
smed ud 'Du fik tredjepræmien';;
*)
# Udskriv besked, hvis værdien ikke stemmer overens med 23, 101 og 503
smed ud 'Undskyld, prøv til næste gang'
Afslut 0;;
esac

#17. Hvilke forskellige typer sløjfer kan bruges i bash?

Tre typer sløjfer understøttes af et bash -script. Disse er mens, for og så længe sløjfer. Loops in bash kontrollerer tilstanden i starten af ​​sløjfen. Mens loop fungerer, indtil betingelsen forbliver sand og så længe loop fungerer, indtil betingelsen forbliver falsk. Der er to måder at bruge til sløjfe. Den ene er generel til loop, der indeholder tre dele og en anden er for-in sløjfe. Brugen af ​​disse tre sløjfer er vist i det følgende eksempel.

Eksempel:

#!/bin/bash
# Initialiser $ n
n=5
# Beregn kvadratet på 5-1 ved hjælp af while loop
mens [ $ n -gt 0 ]
gøre
kvm= $((n*n))
smed ud 'Firkanten af$ ner$ sqr'
((n--))
Færdig

# Beregn kvadratet på 5-1 ved hjælp af loop
til (( jeg=5; jeg>0; jeg--))
gøre
kvm= $((jeg*jeg))
smed ud 'Firkanten af$ ier$ sqr'
Færdig

# Initialiser $ x
x=5

# Beregn kvadratet på 5-1 ved hjælp af indtil loop
så længe [ $ x -det 0 ]
gøre
kvm= $((x*x))
smed ud 'Firkanten af$ xer$ sqr'
((x--))
Færdig

#18. Hvordan kan underrutiner erklæres og kaldes bash?

I bash kaldes en funktion eller procedure en underrutine. Erklæringen og kaldelsen af ​​en underprogram i bash adskiller sig fra andre sprog. Intet argument kan erklæres i underrutiner i modsætning til andre standard programmeringssprog. Men lokale variabler kan defineres inden for underrutinen ved hjælp af 'lokal' nøgleord.

Eksempel:

#!/bin/bash
# Initialiser variablen $ x og $ y, som er globale
x=10
og=35

# Deklarer funktionen
myFunc() {
# Angiv den lokale variabel $ x
lokal x=femten

# Tildel den globale variabel $ y igen
og=25

# Beregn summen af ​​$ x og $ y
Med= $((x + y))

# Udskriv summen af ​​en lokal variabel, $ x og global variabel, $ y
smed ud 'Summen af$ xog$ ysvarende til$ z'
}

# Ring til funktionen
myFunc

# Udskriv summen af ​​globale variabler, $ x og $ y
smed ud 'Summen af$ xog$ ysvarende til$ z'

#19. Hvordan klipper og udskriver man en del af en strengdata i bash?

Bash har ingen indbygget funktion som andre sprog til at skære en del af strengdataene. Men ved hjælp af parameterudvidelse kan enhver strengværdi skæres i bash. Tre dele kan defineres i parameterudvidelse ved at adskille med et kolon for at afskære enhver del af strengdataene. Her er de to første dele obligatoriske, og den sidste del er valgfri. Den første del indeholder hovedstrengvariablen, der skal bruges til at skære, den anden del er startpositionen, hvorfra strengen vil blive afskåret, og den tredje del er skærestrengens længde. Startpositionen skal tælles fra 0, og længden skal tælles fra 1 i hovedstrengen for at hente skæreværdien.

Eksempel:

#!/bin/bash
# Initialiser en strengværdi i $ string
snor='Python Scripting Language'
# Klip strengværdien fra position 7 til slutningen af ​​strengen
smed ud $ {string: 7}
# Klip strengværdien på 9 tegn fra position 7
smed ud $ {string: 7: 9}
# Skær strengværdien fra 17 til 20
smed ud $ {string: 17: -4}

#20. Nævn nogle måder at udføre aritmetiske operationer på bash?

Aritmetiske operationer kan udføres på flere måder i bash. 'Lad', 'expr', 'bc' og dobbelt beslag er de mest almindelige måder at udføre aritmetiske operationer på bash. Brugen af ​​disse kommandoer er vist i det følgende eksempel.

Eksempel:

#!/bin/bash
# Beregning af subtraktion ved hjælp af expr og parameterudvidelse
var1= $( eksp 120-100 )
# udskriv resultatet
smed ud $var1
# Beregn tilføjelsen ved hjælp af kommandoen lad
lade var2=200+300
# Udskriv resultatet
smed ud $ var2
# Beregn og udskriv værdien af ​​division ved hjælp af 'bc' for at få resultatet
# med brøkværdi
smed ud 'skala = 2; 44/7 ' | bc
# Beregn værdien af ​​multiplikation ved hjælp af dobbelte parenteser
var3= $(( 5*3 ))
# Udskriv resultatet
smed ud $ var3

#21. Hvordan kontrolleres der, om der findes en telefonbog eller ikke ved hjælp af bash?

Bash har mange testkommandoer til at kontrollere, om der findes en fil eller et bibliotek og ikke filtypen. '-D' option bruges sammen med en bibliotekssti som en betinget erklæring for at kontrollere, om biblioteket eksisterer eller ikke i bash. Hvis biblioteket findes, vil det returnere sandt ellers vil det returnere falsk.

Eksempel:

#!/bin/bash
# Tildel biblioteket med sti i variablen, $ sti
sti='/home/ubuntu/temp'
# Kontroller, at biblioteket findes eller ej
hvis [ -d '$ sti' ];derefter
# Udskriv besked, hvis biblioteket findes
smed ud 'Katalog findes'
andet
# Udskriv besked, hvis biblioteket ikke findes
smed ud 'Katalog findes ikke'
være

#22. Hvordan kan et bash -script afsluttes uden at udføre alle udsagn?

Ved brug af 'Afslut' kommando, kan et bash -script afsluttes uden at udføre alle udsagn. Følgende script kontrollerer, om der findes en bestemt fil eller ej. Hvis filen findes, vil den udskrive de samlede tegn i filen, og hvis filen ikke findes, vil den afslutte scriptet ved at vise en meddelelse.

Eksempel:

#!/bin/bash

# Initialiser filnavnet til variablen, $ filnavn
filnavn='kursus.txt'

# Kontroller, at filen findes eller ej, ved at bruge -f -indstillingen
hvis [ -f '$ filnavn' ];derefter
# Udskriv besked, hvis filen findes
smed ud '$ filnavnfindes '
andet
# Udskriv besked, hvis filen ikke findes
smed ud '$ filnavnfindes ikke '
# Afslut scriptet
Afslut 1
være

# Tæl filens længde, hvis filen findes
længde=``Toilet -c $ filnavn``

# Udskriv filens længde
smed ud 'I alt tegn -$ længde'

#23. Hvad er brugen af ​​break and continue -udsagn i bash?

pause erklæring bruges til at afslutte fra en loop uden at fuldføre den fulde iteration baseret på en betingelse og Blive ved sætning bruges i en loop til at udelade nogle udsagn baseret på en betingelse. Anvendelserne af pause og Blive ved udsagn forklares i det følgende eksempel.

Eksempel:

#!/bin/bash
# Initialiser variablen $ i til 0 for at starte sløjfen
jeg=0
# sløjfen gentages 10 gange
mens [ $ i -det 10 ]
gøre
# Forøg værdien $ i med 1
((jeg ++))
# Hvis værdien af ​​$ i svarer til 8, afslut derefter løkken ved hjælp af 'break' sætning
hvis [ $ i -ækv 8 ];derefter
pause;
være
# Hvis værdien af ​​$ i er større end 6, så udelad den sidste sætning i sløjfen
# ved at bruge fortsat -sætning
hvis [ $ i -give 6 ];derefter
Blive ved;
være
smed ud 'den aktuelle værdi af i =$ i'
Færdig

# Udskriv værdien af ​​$ i efter afslutning fra sløjfen
smed ud 'Nu er værdien af ​​i =$ i'

#24. Hvordan laver man en bash -fil eksekverbar?

Eksekverbare bash -filer kan laves ved hjælp af 'Chmod' kommando. Eksekverbar tilladelse kan indstilles ved hjælp af '+ X' i chmod kommando med scriptfilnavnet. Bash -filer kan eksekveres uden det eksplicitte 'Bash' kommando efter indstilling af udførelsesbiten for den pågældende fil.

Eksempel:

# Indstil udførelsesbiten
$chmod+ x filnavn.sh

# Kør den eksekverbare fil
$./filnavn.sh

#25. Nævn nogle muligheder, der bruges til at teste filer

Mange muligheder er tilgængelige i bash til at teste fil. Nogle muligheder er nævnt nedenfor.

Mulighed Beskrivelse
-f Den bruges til at teste, at filen findes, og det er en almindelig fil.
-Og Den bruges kun til at teste, at filen findes.
-r Den bruges til at teste, at filen findes, og den har læsetilladelse.
-i Den bruges til at teste, at filen findes, og den skal skrive tilladelse.
-x Den bruges til at teste, at filen findes, og den har udførelsestilladelse.
-d Det bruges til at teste, at biblioteket findes.
-DET Det bruges til at teste, at filen findes, og det er et symbolsk link.
-S Det bruges til at teste, at filen findes, og det er en stikkontakt.
-b Det bruges til at teste filen er en blok -enhed.
-s Det bruges til at kontrollere, at filen ikke er nulstørrelser.
-f.eks Det bruges til at kontrollere indholdet af den første fil er nyere end den anden fil. For eksempel angiver file1 -nt file2, at file1 er nyere end file2.
-ot Det bruges til at kontrollere indholdet i den første fil er ældre end den anden fil. For eksempel angiver file1 -ot file2, at file1 er ældre end file2.
-ef Det bruges til at kontrollere, at to hårde links refererer til den samme fil. For eksempel angiver flink1 -ef flink2, at flink1 og flink2 er hårde links, og begge refererer til den samme fil.

#26. Hvad menes med 'bc', og hvordan kan denne kommando bruges i bash?

Den fulde form for 'bc' er Bash -lommeregner at udføre aritmetiske operationer mere præcist i bash. Brøkdelen udelades, hvis nogen aritmetisk handling udføres i bash ved hjælp af 'Ekspr' kommando. Brøkdelen kan også afrundes ved hjælp af vægt værdi med 'Bc' kommando.

Eksempel:

#!/bin/bash
# Beregn divisionen uden brøkværdien
smed ud '39 / 7 ' | bc

# Beregn divisionen med den fulde brøkværdi
smed ud '39 / 7 ' | bc -det

# Beregn divisionen med tre cifre efter decimalpunktet
smed ud 'skala = 3; 39/7 ' | bc

#27. Hvordan kan du udskrive en bestemt linje i en fil i bash?

Der er mange måder at udskrive en bestemt linje på bash. Hvordan den 'awk', 'sed' og 'hale' kommandoer kan bruges til at udskrive en bestemt linje i en fil i bash er vist i følgende eksempel.

Eksempel:

#!/bin/bash

# Læs og gem den første linje fra filen ved hjælp af kommandoen `awk` med NR -variabel
linje 1=``awk '{if (NR == 1) udskriv $ 0}'kursus.txt``
# Udskriv linjen
smed ud $ linje 1

# Læs den anden linje fra filen ved at bruge kommandoen 'sed' med -n option
linje 2=``sed -n2p kursus.txt``
# Udskriv linjen
smed ud $ linje 2

# Læs den sidste linje fra filen ved at bruge kommandoen `tail` med -n option
linje 3=``hale -n 1kursus.txt``
# Udskriv filen
smed ud $ linje 3

#28. Hvad er IFS?

IFS er en særlig skalvariabel. Den fulde form af IFS er intern feltseparator,
det fungerer som afgrænser for at adskille ordet fra tekstlinjen. Det bruges hovedsageligt til opdeling af en streng, læsning af en kommando, udskiftning af tekst osv.

Eksempel:

#!/bin/bash
# Angiv ':' som afgrænser for opdeling af teksten
IFS=':'
# Tildel tekstdata med ':' til $ tekst
tekst='Rød: Grøn: Blå'
# for loop vil læse hvert ord efter opdeling af teksten baseret på IFS
tiltimeri $ tekst;gøre
# Udskriv ordet
smed ud $ timer
Færdig

#29. Hvordan finder man længden af ​​en strengdata?

'Expr', 'wc' og 'Awk' kommandoer kan bruges til at finde længden af ​​en string data i bash. 'Ekspr' og 'Awk' kommandoer bruger længde mulighed, 'Toilet' kommando bruger ‘–C’ mulighed for at tælle længden af ​​strengen.

Eksempel:

Brugen af ​​ovenstående kommandoer er vist i det følgende script.

#!/bin/bash
# Tæl længde ved hjælp af optionen 'ekspr' længde
smed ud ``eksplængde'Jeg kan godt lide PHP'``
# Tæl længde ved hjælp af kommandoen 'wc'
smed ud 'Jeg kan godt lide Bash' | Toilet -c
# Tæl længde ved hjælp af kommandoen 'awk'
smed ud 'Jeg kan godt lide Python' | awk '{print length}'

#30. Hvordan køres flere bash script parallelt?

Flere bash -scripts kan udføres parallelt ved hjælp af nohup kommando. Hvordan flere bash -filer kan eksekveres parallelt fra en mappe, er vist i følgende eksempel.

Eksempel:

# Tildel et mappenavn med stien i variablen $ dir, der indeholder
# flere bash -filer
til dig='hjem/Ubuntu/temp'

# for loop vil læse hver fil fra biblioteket og udføre parallelt
tilmanuskriptitil dig/ *.sh
gøre
nohup bash '$ script' &
Færdig

Konklusion:

De fleste grundlæggende bash script -interviewspørgsmål er beskrevet i denne artikel for læserne, der ønsker at starte en karriere som bash programmerer.