30 bash skripta Pitanja i odgovori za intervju

30 Bash Script Interview Questions

Bash skriptiranje je vrlo koristan i moćan programski jezik koji se uglavnom koristi za automatizaciju bilo kojeg ručnog zadatka. Tražitelj posla koji želi biti ispitivač automatizacije ili bash programer mora se suočiti s nekim uobičajenim pitanjima u razgovoru. U Linuxu postoje različite vrste skripti ljuske. Jedno od popularnih i najčešće korištenih skripti ljuske je Bourne Again Shell ili Bash. U ovom članku opisano je 30 važnih pitanja za intervju i odgovora na bash skriptnom jeziku radi pripreme za posao.

#01. Što je bash skripta?

Bash skripta je programski jezik ljuske. Općenito, iz terminala pokrećemo mnoge vrste naredbi ljuske upisivanjem svake naredbe zasebno koje zahtijevaju vrijeme i trud. Ako moramo ponovno pokrenuti iste naredbe, moramo ponovno izvršiti sve naredbe s terminala. No, pomoću bash skripte možemo pohraniti mnoge naredbe naredbe ljuske u jednu bash datoteku i izvršiti datoteku u bilo kojem trenutku pomoću jedne naredbe. Mnogi zadaci vezani uz administraciju sustava, instalacija programa, sigurnosna kopija diska, procjena dnevnika itd. Mogu se obaviti korištenjem odgovarajuće bash skripte.



#02. Koje su prednosti korištenja bash skripti?

Bash skripta ima mnoge prednosti koje su opisane u nastavku:



  • Lak je za korištenje i učenje.
  • Mnogi ručni zadaci koje je potrebno često izvršavati mogu se obaviti automatski pisanjem bash skripte.
  • Niz više naredbi ljuske može se izvršiti jednom naredbom.
  • Bash skripta napisana u jednom Linux operativnom sustavu može se lako izvršiti u drugom Linux operativnom sustavu. Dakle, prenosiv je.
  • Otklanjanje pogrešaka u bashu lakše je od ostalih programskih jezika.
  • Sintaksa naredbenog retka i naredbe koje se koriste u terminalu slične su naredbama i sintaksi koje se koriste u bash skripti.
  • Bash skripta se može koristiti za povezivanje s drugim datotekama skripte.

#03. Spomenite nedostatke bash skripti

Neki nedostaci bash skripte navedeni su u nastavku:



  • Radi sporije od ostalih jezika.
  • Neispravna skripta može oštetiti cijeli proces i generirati kompliciranu pogrešku.
  • Nije prikladan za razvoj velike i složene aplikacije.
  • Sadrži manje strukture podataka u usporedbi s drugim standardnim programskim jezicima.

#04. Koje se vrste varijabli koriste u bashu?

U bash skripti mogu se koristiti dvije vrste varijabli. Ovi su:

Sistemske varijable
Varijable koje unaprijed definira i održava operacijski sustav Linux nazivaju se sistemske varijable. Ova vrsta varijabli uvijek se koristi velikim slovom. Zadane vrijednosti ovih varijabli mogu se mijenjati na temelju zahtjeva.

`set`,` env` i ` printenv `naredbe se mogu koristiti za ispis popisa sistemskih varijabli.

Primjer:

#!/bin/bash
# Sistemske varijable ispisa

#Print Bash naziv ljuske
izbaciti $ BASH

# Verzija ljuske ispisa Bash
izbaciti BASH_VERSION USD

# Ispišite naziv kućnog imenika
izbaciti $ HOME

Korisnički definirana varijabla

Varijable koje stvaraju i održavaju korisnici nazivaju se korisnički definirane varijable. Nazivaju se i lokalnim varijablama. Ove se vrste varijabli mogu deklarirati malim ili velikim slovima ili velikim i malim slovima. No, bolje je izbjegavati korištenje velikih slova za razlikovanje varijabli od sistemskih varijabli.
Primjer:

#!/bin/bash

na jedan=100
izbaciti $ num

#05. Kako deklarirati i izbrisati varijable u bash -u?

Varijabla se može deklarirati u bash prema vrsti podataka ili bez vrste podataka. Ako je bilo koja bash varijabla deklarirana bez proglasiti naredbu, tada će se varijabla tretirati kao niz. Bash varijabla je deklarirana sa proglasiti naredba za definiranje tipa podataka varijable u deklaraciji vremena.



–R , -i, -a, -A, -l, -u, -t i -X opcije se mogu koristiti s proglasiti naredba za deklariranje varijable s različitim vrstama podataka.

Primjer:

#!/bin/bash

#Objavi varijablu bez bilo koje vrste
na jedan=10

#Vrijednosti će se kombinirati, ali neće dodavati
proizlaziti=$ num+dvadeset
izbaciti $ rezultat

#Deklariraj varijablu s cijelim brojem
proglasiti -i na jedan=10

#Vrijednosti će se dodati
proglasiti -i proizlaziti= broj+dvadeset
izbaciti $ rezultat

neraspoložen naredba se koristi za uklanjanje bilo koje bash varijable. Varijabla će nakon upotrebe biti nedostupna ili nedefinirana neraspoložen naredba.

Primjer:

#!/bin/bash

str='Linux savjet'
izbaciti $ str
neraspoložen $ str
izbaciti $ str

#06. Kako dodati komentare u bash skriptu?

U bash skripti mogu se koristiti jednostruki i višeredni komentari. ' # 'Simbol se koristi za komentare u jednom retku. '<<’ simbol s graničnikom i ':' s single (‘) koriste se za dodavanje komentara u više redaka.

Primjer:

#!/bin/bash
#Ispišite tekst [komentar u jednom retku]
izbaciti 'Bash programiranje'
< Izračunajte zbroj
Od dva broja [komentar u više redova]
Dodaj komentar

na jedan=25+35
izbaciti $ num
:'
Kombinirajte dva
Podaci o nizu [višelinski komentar]
'

Niz='Zdravo'
izbaciti $ string'Svijet'

#07. Kako možete kombinirati nizove u bash skripti?

Vrijednosti niza mogu se kombinirati u bash na različite načine. Obično se vrijednosti niza kombiniraju postavljanjem zajedno, ali postoje drugi načini u bashu za kombiniranje podataka niza.

Primjer:

#!/bin/bash
#Inicijalizirajte varijable
str1='PHP'
str2='Bash'
str3='Perl'

# Ispišite niz zajedno s razmakom
izbaciti $ str1 $ str2 $ str3

#Kombinirajte sve varijable i pohranite u drugu varijablu
str='$ str1,$ str2i$ str3'

#Kombinirajte ostale podatke niza s postojećom vrijednošću niza
str + ='su skriptni jezici'

#Ispišite niz
izbaciti $ str

#08. Koje se naredbe koriste za ispis ispisa u bash -u?

`odjek` i `printf` naredbe se mogu koristiti za ispis ispisa u bash. `odjek naredba `koristi se za ispis jednostavnog izlaza i `printf` naredba se koristi za ispis formatiranog izlaza.

Primjer:

#!/bin/bash

#Odštampajte tekst
izbaciti 'Dobro došli u LinuxHint'
mjestu='linuxhint.com'
#Ispišite formatirani tekst
printf '%s je popularno web mjesto za blog n' $ site

#09. Kako unositi ulaz s terminala u bash?

`čitati` naredba se koristi u bash skripti za unos podataka s terminala.

Primjer:

#!/bin/bash
#Odštampaj poruku
izbaciti 'Unesite svoje ime'
#Uzmite unos od korisnika
čitatiIme
# Ispišite vrijednost $ name s drugim nizom
izbaciti 'Tvoje ime je$ name'

#10. Kako koristiti argumente naredbenog retka u bashu?

Argumente naredbenog retka čita 1 USD, 2 USD, 3 USD ... $ n varijable. Vrijednosti argumenata naredbenog retka nalaze se u terminalu prilikom izvršavanja bash skripte. 1 USD koristi se za čitanje prvog argumenta, 2 USD koristi se za čitanje drugog argumenta i tako dalje.

Primjer:

#!/bin/bash
#Provjerite je li argument naveden ili ne
ako [[ # USD -ekv 0 ]];zatim
izbaciti 'Nema argumenata.'
Izlaz 0
biti
#Pohranite prvu vrijednost argumenta
boja=1 USD
# Ispišite argument drugim nizom
printf 'Vaša omiljena boja je %s n' $ boja

#11. Je li bash slabo kucani jezik? Zašto?

Da, bash se smatra slabo ili labavo otkucanim jezikom jer ne zahtijeva deklariranje vrste podataka u vrijeme deklaracije varijable. Sve bash varijable se prema zadanim postavkama tretiraju kao niz, a tip varijable bit će postavljen na temelju trenutne vrijednosti. Bash varijable s vrstama podataka mogu se definirati pomoću proglasiti naredba s određenom opcijom. No, mogućnosti definiranja vrsta podataka ograničene su i ne podržavaju sve vrste podataka. Na primjer, plutati vrsta podataka ne može se deklarirati pomoću proglasiti naredba.

Primjer:

#!/bin/bash

#Tip podataka $ myVar prema zadanim je postavkama string
myVar=29

# Ispišite varijablu
izbaciti $ myVar

# Deklarirajte cjelobrojnu varijablu $ number s vrijednošću 67
proglasiti -i broj=67

#Ispišite varijablu
izbaciti $ broj

# Dodijelite podatke niza numeričkoj varijabli. Sljedeći redak će generirati
# sintaksna pogreška i vrijednost $ number neće se promijeniti
broj='Volim bash'
izbaciti $ broj

#12. Kako pročitati drugu riječ ili stupac iz svakog retka datoteke?

Druga riječ ili stupac datoteke može se pročitati u bash skripti jednostavnim korištenjem različitih bash naredbi, poput `awk`,` sed` itd. Ovdje se može koristiti `awk` prikazano je u sljedećem primjeru.
Primjer: Pretpostavimo da datoteka course.txt sadrži sljedeći sadržaj, a mi smo ispisali samo drugu riječ svakog retka ove datoteke.

CSE201 Java programiranje
CSE303 Struktura podataka
CSE408 Unix programiranje#!/bin/bash
# Sljedeća skripta ispisat će drugu riječ svakog retka iz datoteke course.txt.
# izlaz naredbe cat preći će u naredbu awk koja će pročitati drugu riječ
# svakog retka.
izbaciti ``mačkacourse.txt| awk '{print $ 2}'``

#13. Kako deklarirati i pristupiti varijabli niza u bash -u?

Numerički i asocijativni niz podržava bash skripta. Varijabla niza može se deklarirati sa i bez naredbe declare. -do opcija se koristi s naredbom deklarirati za definiranje numeričkog niza i -DO opcija se koristi s deklariranjem naredbe za definiranje asocijativnog niza u bash -u. Bez naredbe declare, numerički niz se može definirati samo u bash -u.

Primjer:

#!/bin/bash

# Deklarirajte jednostavan numerički niz
arr1=(CodeIgniter Laravel ReactJS)

# Ispišite vrijednost prvog elementa od $ arr1
izbaciti $ {arr1 [0] {

# Deklarirajte numerički niz pomoću naredbe declare
proglasiti -do arr2=(HTML CSS JavaScript)

# Ispišite vrijednost drugog elementa od $ arr2
izbaciti $ {arr2 [1]}

# Deklarirajte asocijativni niz pomoću naredbe Declare
proglasiti -DO arr3=( [okvir]= Laravel[CMS]= Wordpress[Knjižnica]= JQuery)

# Ispišite vrijednost trećeg elementa od $ arr3
izbaciti $ {arr3 [Library]}

Svim elementima niza može se pristupiti pomoću bilo koje petlje ili simbola ‘*’ kao indeksa niza.

#14. Kako se uvjetni izrazi mogu koristiti u bashu?

Najčešći uvjetni izraz u većini programskih jezika je if-elseif-else izjava. Sintaksa od if-elseif-else izraz u bash se malo razlikuje od ostalih programskih jezika. 'Ako' izraz može biti deklariran na dva načina u bash skripti i svakoj vrsti 'ako' blok mora biti zatvoren sa 'biti' . 'ako' Naredba se može definirati trećim zagradama ili prvim zagradama poput drugih programskih jezika.

Sintaksa:
DO.

ako [stanje];
zatim
izjave
biti

B.

ako [stanje];zatim
izjave1
drugo
izjava2
biti

C.

ako [stanje];zatim
izjava1
elif[stanje];zatim
izjava2
….
drugo
izjava n
biti

Primjer:

#!/bin/bash

# Dodijelite vrijednost $ n
n=30
# Provjerite je li $ n veće od 100 ili nije
ako [ $ n -gt 100 ];zatim
izbaciti '$ nje manje od 100 '
# Provjerite $ n id veći od 50 ili ne
elif [ $ n -gt pedeset ];zatim
izbaciti '$ nje manje od 50 '
drugo
izbaciti '$ nje manje od 50 '
biti

#15. Kako usporediti vrijednosti u bashu?

Šest vrsta operatora usporedbe može se koristiti u bashu za usporedbu vrijednosti. Postoje dva načina korištenja ovih operatora u bashu, ovisno o vrsti podataka. Oni su navedeni u nastavku.

Usporedba nizova Integer Comarison Opis
== -ekv Koristi se za provjeru jednakosti
! = -rođen Koristi se za provjeru nejednakosti
< -lt Koristi se ako je prva vrijednost manja od druge ili nije
> -gt Koristi se za provjeru je li prva vrijednost veća od druge vrijednosti ili nije
<= - Koristi se za provjeru je li prva vrijednost manja ili jednaka drugoj vrijednosti ili nije
> = -dati Koristi se za provjeru je li prva vrijednost veća ili jednaka drugoj vrijednosti ili nije

Primjer:

#!/bin/bash
# Inicijalizirajte $ n
n=130
ili='čak'
# Provjerite je li $ n veće ili jednako 100 ili ne koristite '–ge'.
ako [ $ n -dati 100 ];zatim
izbaciti '$ nje veće ili jednako 100 '
drugo
izbaciti '$ nje manje od 100 '
biti
# Provjerite je li $ n paran ili neparan pomoću operatora ‘==’
ako (( $ o=='čak' ));zatim
izbaciti 'Broj je paran'
drugo
izbaciti 'Broj je neparan'
biti

#16. Koji se uvjetni izraz može koristiti kao zamjena za if-elseif-else izraze u bashu?

'slučaj' izjava se može koristiti kao alternativa tp if-elseif-if izjava. Sintaksa za 'slučaj' izjava u bash skriptama razlikuje se od razvodna kutija izjava drugih programskih jezika. 'slučaj' blok je zatvoren 'Esac' izjava u bash. Ne ' pauza 'Izjava se koristi unutar' slučaj ‘Blok za prekid iz bloka.

Sintaksa:

slučaj u
Uzorak podudaranja1)naredbe;;
Uzorak podudaranja2)naredbe;;
……
Uzorak podudaranja n)naredbe;;
esac

Primjer:

#!/bin/bash
#Inicijalizirajte varijablu $ ticket
ulaznica=101
# Usporedite vrijednost karte $ s 23, 101 i 503
slučaj $ ulaznica u
2. 3)
# Ispišite poruku ako je vrijednost 23
izbaciti 'Dobio si prvu nagradu';;
101)
# Ispišite poruku ako je vrijednost 101
izbaciti 'Dobio si drugu nagradu';;
503)
# Ispišite poruku ako je vrijednost 503
izbaciti 'Dobio si treću nagradu';;
*)
# Ispišite poruku ako se vrijednost ne podudara s 23, 101 i 503
izbaciti 'Oprostite, pokušajte sljedeći put'
Izlaz 0;;
esac

#17. Koje se različite vrste petlji mogu koristiti u bashu?

Bash skripta podržava tri vrste petlji. Ovi su dok, za i do petlje. Petlje u bashu provjeravaju stanje na početku petlje. Dok petlja radi sve dok uvjet ne ostane istinit i do petlja radi sve dok uvjet ne ostane netočan. Postoje dva načina korištenja za petlja. Jedan je općenit za petlja koja sadrži tri dijela, a drugi je za-u petlja. Upotreba ove tri petlje prikazana je u sljedećem primjeru.

Primjer:

#!/bin/bash
# Inicijalizirajte $ n
n=5
# Izračunajte kvadrat 5-1 pomoću while petlje
dok [ $ n -gt 0 ]
čini
sqr= $((n*n))
izbaciti 'Kvadrat od$ nje$ sqr'
((n--))
učinjeno

# Izračunajte kvadrat 5-1 pomoću for petlje
za (( i=5; i>0; ja--))
čini
sqr= $((i*i))
izbaciti 'Kvadrat od$ ije$ sqr'
učinjeno

# Inicijalizirajte $ x
x=5

# Izračunajte kvadrat 5-1 pomoću loop
do [ $ x - 0 ]
čini
sqr= $((x*x))
izbaciti 'Kvadrat od$ xje$ sqr'
((x--))
učinjeno

#18. Kako se potprogrami mogu deklarirati i pozvati u bash?

U bashu se funkcija ili postupak naziva potprogram. Deklaracija i pozivanje potprograma u bashu razlikuje se od drugih jezika. Nijedan argument se ne može deklarirati u potprogramima za razliku od drugih standardnih programskih jezika. No, lokalne varijable mogu se definirati unutar potprograma pomoću 'lokalno' ključna riječ.

Primjer:

#!/bin/bash
# Inicijalizirajte varijable $ x i $ y koje su globalne
x=10
i=35

# Deklarirajte funkciju
myFunc() {
# Deklarirajte lokalnu varijablu $ x
lokalno x=petnaest

# Ponovno dodijelite globalnu varijablu $ y
i=25

# Izračunajte zbroj $ x i $ y
S= $((x + y))

# Ispišite zbroj lokalne varijable, $ x, i globalne varijable, $ y
izbaciti 'Zbroj$ xi$ yjednak$ z'
}

# Pozovite funkciju
myFunc

# Ispišite zbroj globalnih varijabli, $ x i $ y
izbaciti 'Zbroj$ xi$ yjednak$ z'

#19. Kako izrezati i ispisati dio podataka u nizu u bashu?

Bash nema ugrađenu funkciju kao drugi jezici za izrezivanje dijela podataka niza. No, pomoću proširenja parametara bilo koja vrijednost niza može se izrezati u bash. U proširenju parametara mogu se definirati tri dijela odvajanjem dvotočkom za rezanje bilo kojeg dijela podataka niza. Ovdje su prva dva dijela obavezna, a posljednji dio nije obavezan. Prvi dio sadrži varijablu glavnog niza koja će se koristiti za rezanje, drugi dio je početna pozicija odakle će se niz prerezati, a treći dio je duljina reznog niza. Početna pozicija mora se brojati od 0, a dužina se mora odbrojavati od 1 glavnog niza da bi se dohvatila vrijednost rezanja.

Primjer:

#!/bin/bash
# Inicijalizirajte vrijednost niza u $ string
niz='Python skriptni jezik'
# Izrežite vrijednost niza od položaja 7 do kraja niza
izbaciti $ {string: 7}
# Izrežite vrijednost niza od 9 znakova s ​​mjesta 7
izbaciti $ {string: 7: 9}
# Smanjite vrijednost niza sa 17 na 20
izbaciti $ {string: 17: -4}

#20. Spomenite neke načine izvođenja aritmetičkih operacija u bashu?

Aritmetičke operacije mogu se izvesti na više načina u bashu. 'Neka', 'izraz', 'bc' i dvostruke zagrade su najčešći načini izvođenja aritmetičkih operacija u bashu. Upotreba ovih naredbi prikazana je u sljedećem primjeru.

Primjer:

#!/bin/bash
# Izračunavanje oduzimanja pomoću izraza ekspresije i proširenja parametara
var1= $( ekspr 120-100 )
# ispišite rezultat
izbaciti $ var1
# Izračunajte dodatak pomoću naredbe let
neka var2=200+300
# Ispišite rsult
izbaciti $ var2
# Izračunajte i ispišite vrijednost podjele pomoću 'bc' da biste dobili rezultat
# s razlomačkom vrijednošću
izbaciti 'ljestvica = 2; 44/7 ' | prije Krista
# Izračunajte vrijednost množenja pomoću dvostrukih zagrada
var3= $(( 5*3 ))
# Ispišite rezultat
izbaciti $ var3

#21. Kako provjeriti postoji li direktorij ili ne koristi bash?

Bash ima mnogo testnih naredbi za provjeru postoji li datoteka ili imenik ili ne i vrstu datoteke. '-D' opcija se koristi s putom direktorija kao uvjetni izraz za provjeru postoji li direktorij u bash ili ne. Ako direktorij postoji, vratit će se true, u suprotnom će se vratiti false.

Primjer:

#!/bin/bash
# Dodijelite imenik s putanjom u varijabli, $ path
staza='/home/ubuntu/temp'
# Provjerite postoji li direktorij ili ne
ako [ -d '$ put' ];zatim
# Ispišite poruku ako direktorij postoji
izbaciti 'Imenik postoji'
drugo
# Ispišite poruku ako direktorij ne postoji
izbaciti 'Imenik ne postoji'
biti

#22. Kako se bash skripta može prekinuti bez izvršavanja svih izraza?

Korištenje 'Izlaz' naredbom, bash skripta se može prekinuti bez izvršavanja svih izraza. Sljedeća skripta će provjeriti postoji li određena datoteka ili ne. Ako datoteka postoji, ispisat će ukupni broj znakova datoteke, a ako datoteka ne postoji, tada će skriptu prekinuti prikazivanjem poruke.

Primjer:

#!/bin/bash

# Inicijalizirajte naziv datoteke u varijablu, $ filename
naziv datoteke='course.txt'

# Provjerite postoji li datoteka ili ne pomoću opcije -f
ako [ -f '$ naziv datoteke' ];zatim
# Ispišite poruku ako datoteka postoji
izbaciti '$ naziv datotekepostoji '
drugo
# Ispišite poruku ako datoteka ne postoji
izbaciti '$ naziv datotekene postoji '
# Prekinite skriptu
Izlaz 1
biti

# Izbrojite duljinu datoteke ako datoteka postoji
duljina=``zahod -c $ naziv datoteke``

# Ispišite duljinu datoteke
izbaciti 'Ukupno znakova -$ duljina'

#23. Koje su koristi izraza break i continue u bashu?

pauza naredba se koristi za prekid iz petlje bez dovršenja cijele iteracije na temelju uvjeta i nastaviti naredba se koristi u petlji za izostavljanje nekih izraza na temelju uvjeta. Upotrebe pauza i nastaviti izjave su objašnjene u sljedećem primjeru.

Primjer:

#!/bin/bash
# Inicijalizirajte varijablu $ i na 0 za početak petlje
i=0
# petlja će ponoviti fot 10 puta
dok [ $ i - 10 ]
čini
# Povećajte vrijednost $ i za 1
((ja ++))
# Ako je vrijednost $ i jednaka 8, tada prekinite petlju koristeći izraz 'break'
ako [ $ i -ekv 8 ];zatim
pauza;
biti
# Ako je vrijednost $ i veća od 6, izostavite posljednju naredbu petlje
# pomoću naredbe continue
ako [ $ i -dati 6 ];zatim
nastaviti;
biti
izbaciti 'trenutna vrijednost i =$ i'
učinjeno

# Ispišite vrijednost $ i nakon završetka petlje
izbaciti 'Sada je vrijednost i =$ i'

#24. Kako napraviti bash datoteku izvršnom?

Izvršne bash datoteke mogu se izraditi pomoću 'Chmod' naredba. Izvršno dopuštenje može se postaviti pomoću '+ X' u chmod naredba s imenom datoteke skripte. Bash datoteke mogu se izvršiti bez izričitog 'Bash' naredbu nakon postavljanja izvršnog bita za tu datoteku.

Primjer:

# Postavite bit izvođenja
$chmod+ x naziv datoteke.sh

# Pokrenite izvršnu datoteku
$./naziv datoteke.sh

#25. Navedite neke opcije koje se koriste za testiranje datoteka

Mnoge su opcije dostupne u bash za testiranje datoteke. Neke su opcije navedene u nastavku.

Opcija Opis
-f Koristi se za provjeru postojanja datoteke i to je obična datoteka.
-I Koristi se za testiranje samo postojanja datoteke.
-r Koristi se za provjeru postoji li datoteka i ima dopuštenje za čitanje.
-u Koristi se za provjeru postojanja datoteke i mora imati dopuštenje za pisanje.
-x Koristi se za provjeru postojanja datoteke i dopuštenje za izvršenje.
-d Koristi se za provjeru postojanja imenika.
-ONI Koristi se za provjeru postojanja datoteke i simbolična je veza.
-S Koristi se za provjeru da datoteka postoji i To je utičnica.
-b Koristi se za testiranje datoteke je blok uređaj.
-s Koristi se za provjeru veličina datoteke nije nula.
-npr Koristilo se za provjeru da je sadržaj prve datoteke noviji od druge datoteke. Na primjer, file1 -nt file2 označava da je file1 novija od file2.
-ot Koristilo se za provjeru da je sadržaj prve datoteke stariji od druge datoteke. Na primjer, file1 -ot file2 označava da je file1 starija od file2.
-ef Koristi se za provjeru da li se dvije čvrste veze odnose na istu datoteku. Na primjer, flink1 -ef flink2 označava da su flink1 i flink2 čvrste veze i da se obje odnose na istu datoteku.

#26. Što se podrazumijeva pod 'bc' i kako se ova naredba može koristiti u bashu?

Puni oblik 'bc' je Bash kalkulator za točnije izvođenje aritmetičkih operacija u bash. Razlomljeni dio izostavlja se ako se bilo koja aritmetička operacija izvede u bash pomoću 'Izraz' naredba. Razlomljeni dio može se zaokružiti i pomoću razmjera vrijednost sa 'prije Krista' naredba.

Primjer:

#!/bin/bash
# Izračunajte podjelu bez razlomljene vrijednosti
izbaciti '39 / 7 ' | prije Krista

# Izračunajte podjelu s punom razlomkom
izbaciti '39 / 7 ' | prije Krista -

# Izračunajte podjelu s tri znamenke iza decimalne točke
izbaciti 'ljestvica = 3; 39/7 ' | prije Krista

#27. Kako možete ispisati određeni redak datoteke u bashu?

Postoji mnogo načina ispisa određene linije u bashu. Kako 'awk', 'sed' i 'rep' naredbe se mogu koristiti za ispis određene linije datoteke u bash je prikazano u sljedećem primjeru.

Primjer:

#!/bin/bash

# Pročitajte i spremite prvi redak iz datoteke pomoću naredbe `awk` s NR varijablom
linija 1=``awk '{if (NR == 1) ispiši $ 0}'course.txt``
# Ispišite liniju
izbaciti $ linija1

# Pročitajte drugi redak iz datoteke pomoću naredbe `sed` s opcijom -n
linija 2=``sed -n2p course.txt``
# Ispišite liniju
izbaciti $ line2

# Pročitajte zadnji redak iz datoteke pomoću naredbe `tail` s opcijom -n
linija 3=``rep -n 1course.txt``
# Ispišite datoteku
izbaciti $ line3

#28. Što je IFS?

IFS je posebna varijabla ljuske. Puni oblik IFS je unutarnji separator polja,
djeluje kao graničnik za odvajanje riječi od reda teksta. Uglavnom se koristi za razdvajanje niza, čitanje naredbe, zamjenu teksta itd.

Primjer:

#!/bin/bash
# Proglasite ':' kao graničnik za razdvajanje teksta
IFS=':'
# Dodijelite tekstualne podatke s ':' u $ text
tekst='Crveno: Zeleno: Plavo'
# for petlja će čitati svaku riječ nakon razdvajanja teksta na temelju IFS -a
zasatiu $ text;čini
# Ispišite riječ
izbaciti $ sati
učinjeno

#29. Kako saznati duljinu podataka niza?

'Expr', 'wc' i 'Awk' naredbe se mogu koristiti za saznavanje duljine podataka niza u bash -u. 'Izraz' i 'Awk' naredbe koriste duljina opcija, 'Zahod' naredba koristi ‘–C’ mogućnost brojanja duljine niza.

Primjer:

Upotreba gornjih naredbi prikazana je u sljedećoj skripti.

#!/bin/bash
# Brojanje duljine pomoću opcije `expr` length
izbaciti ``eksprduljina'Sviđa mi se PHP'``
# Brojanje duljine pomoću naredbe `wc`
izbaciti 'Sviđa mi se Bash' | zahod -c
# Brojanje duljine pomoću naredbe `awk`
izbaciti 'Sviđa mi se Python' | awk '{print length}'

#30. Kako paralelno pokrenuti višestruku bash skriptu?

Više bash skripti može se paralelno izvesti pomoću nohup naredba. Kako se više bash datoteka može paralelno izvesti iz mape prikazano je u sljedećem primjeru.

Primjer:

# Dodijelite naziv mape s putanjom u varijabli $ dir koja sadrži
# više bash datoteka
tebi='home/Ubuntu/temp'

# for petlja će čitati svaku datoteku iz direktorija i izvršavati se paralelno
zaskriptautebi/ *.sh
čini
nohup bash '$ skripta' &
učinjeno

Zaključak:

Većina osnovnih pitanja o intervjuu za bash skriptu opisana je u ovom članku za čitatelje koji žele započeti karijeru kao bash programer.