30 bash skript Rozhovor otázky a odpovědi

30 Bash Script Interview Questions

Bash skriptování je velmi užitečný a výkonný programovací jazyk, který se používá hlavně k automatizaci jakékoli ruční úlohy. Uchazeč o zaměstnání, který chce být testerem automatizace nebo programátorem bash, musí při pohovoru čelit některým běžným otázkám. V Linuxu existují různé typy shell skriptů. Jedním z populárních a většinou používaných shell skriptů je Bourne Again Shell nebo Bash. V tomto článku je popsáno 30 důležitých otázek a odpovědí na pohovor skriptovacího jazyka bash, aby se připravili na práci.

#01. Co je bash skript?

Skript bash je shell programovací jazyk. Obecně z terminálu spouštíme mnoho typů příkazů prostředí Shell zadáním každého příkazu samostatně, což vyžaduje čas a úsilí. Pokud potřebujeme znovu spustit stejné příkazy, musíme znovu spustit všechny příkazy z terminálu. Ale pomocí skriptu bash můžeme uložit mnoho příkazů příkazů shellu do jednoho souboru bash a spustit soubor kdykoli jediným příkazem. Mnoho úloh souvisejících se správou systému, instalaci programu, zálohování disku, vyhodnocování protokolů atd. Lze provést pomocí správného skriptu bash.



#02. Jaké jsou výhody používání bash skriptů?

Bash skript má mnoho výhod, které jsou popsány níže:



  • Je snadné používat a učit se.
  • Mnoho manuálních úloh, které je třeba spouštět často, lze provést automaticky napsáním bash skriptu.
  • Sekvenci více příkazů shellu lze provést jediným příkazem.
  • Bash skript napsaný v jednom operačním systému Linux lze snadno spustit v jiném operačním systému Linux. Je tedy přenosný.
  • Ladění v bash je jednodušší než v jiných programovacích jazycích.
  • Syntaxe příkazového řádku a příkazy používané v terminálu jsou podobné příkazům a syntaxi používané ve skriptu bash.
  • Bash skript lze použít k propojení s jinými soubory skriptu.

#03. Uveďte nevýhody bash skriptů

Některé nevýhody bash skriptu jsou uvedeny níže:



  • Funguje to pomaleji než jiné jazyky.
  • Nesprávný skript může poškodit celý proces a generovat komplikovanou chybu.
  • Není vhodný pro vývoj velké a složité aplikace.
  • Ve srovnání s jinými standardními programovacími jazyky obsahuje méně datové struktury.

#04. Jaké typy proměnných se používají v bash?

V bash skriptu lze použít dva typy proměnných. Tyto jsou:

Systémové proměnné
Proměnné, které jsou předdefinovány a udržovány operačním systémem Linux, se nazývají systémové proměnné. Tyto typy proměnných jsou vždy používány velkými písmeny. Výchozí hodnoty těchto proměnných lze změnit na základě požadavků.

`set`,` env` a ` printenv `Příkazy lze použít k vytištění seznamu systémových proměnných.

Příklad:

#!/bin/bash
# Proměnné tiskového systému

#Vytiskněte název shellu Bash
vyhodil $ BASH

# Tisk verze Bash shellu
vyhodil $ BASH_VERSION

# Vytiskněte název domovského adresáře
vyhodil $ HOME

Uživatelem definovaná proměnná

Proměnné, které jsou vytvářeny a udržovány uživateli, se nazývají uživatelem definované proměnné. Říká se jim také lokální proměnné. Tyto typy proměnných lze deklarovat pomocí malých nebo velkých písmen nebo velkých i malých písmen. Je však lepší vyhnout se použití všech velkých písmen k odlišení proměnných od systémových proměnných.
Příklad:

#!/bin/bash

na jednom=100
vyhodil $ num

#05. Jak deklarovat a odstranit proměnné v bash?

Proměnnou lze v bash deklarovat podle datového typu nebo bez datového typu. Pokud je nějaká proměnná bash deklarována bez prohlásit příkaz, pak bude proměnná považována za řetězec. Bash proměnná je deklarována pomocí prohlásit příkaz k definování datového typu proměnné při časové deklaraci.



–R , -i, -a, -A, -l, -u, -t a -X možnosti lze použít s prohlásit příkaz k deklaraci proměnné s různými datovými typy.

Příklad:

#!/bin/bash

#Deklarujte proměnnou bez jakéhokoli typu
na jednom=10

#Hodnoty budou sloučeny, ale nebudou přidány
výsledek=$ num+dvacet
vyhodil $ výsledek

#Deklarujte proměnnou celočíselným typem
prohlásit -i na jednom=10

#Hodnoty budou přidány
prohlásit -i výsledek= počet+dvacet
vyhodil $ výsledek

nestabilní příkaz se používá k odebrání jakékoli proměnné bash. Proměnná bude po použití nepřístupná nebo nedefinovaná nestabilní příkaz.

Příklad:

#!/bin/bash

p='Linux Hint'
vyhodil $ str
nestabilní $ str
vyhodil $ str

#06. Jak přidat komentáře do bash skriptu?

V bash skriptu lze použít jednořádkové a víceřádkové komentáře. ' # ‘Symbol se používá pro jednorázový komentář. '<<’ symbol s oddělovačem a ':' s jedním (‘) se používají pro přidání víceřádkového komentáře.

Příklad:

#!/bin/bash
#Vytiskněte text [Jednořádkový komentář]
vyhodil 'Bash Programming'
< Vypočítejte součet
Ze dvou čísel [víceřádkový komentář]
přidat komentář

na jednom=25+35
vyhodil $ num
:'
Zkombinujte dva
Řetězcová data [víceřádkový komentář]
'

Tětiva='Ahoj'
vyhodil $ řetězec'Svět'

#07. Jak můžete kombinovat řetězce v bash skriptu?

Řetězcové hodnoty lze v bashu kombinovat různými způsoby. Normálně jsou řetězcové hodnoty kombinovány umístěním dohromady, ale v bash existují i ​​jiné způsoby, jak kombinovat řetězcová data.

Příklad:

#!/bin/bash
#Inicializujte proměnné
str1='PHP'
str2='Bash'
str3='Perl'

# Vytiskněte řetězec společně s mezerou
vyhodil $ str1 $ str2 $ str3

#Zkombinujte všechny proměnné a uložte je do jiné proměnné
p='$ str1,$ str2a$ str3'

#Zkombinujte další data řetězce s existující hodnotou řetězce
str + =„jsou skriptovací jazyky“

#Vytiskněte řetězec
vyhodil $ str

#08. Které příkazy se používají k tisku výstupu v bashu?

`ozvěna ' a `printf` příkazy lze použít k tisku výstupu v bash. `ozvěna `Příkaz` se používá k tisku jednoduchého výstupu a `printf` příkaz se používá k tisku formátovaného výstupu.

Příklad:

#!/bin/bash

#Vytiskněte text
vyhodil 'Welcome to LinuxHint'
stránky='linuxhint.com'
#Vytiskněte formátovaný text
printf '%s je oblíbený blog n' $ stránky

#09. Jak převzít vstup z terminálu v bash?

'číst' příkaz se používá ve skriptu bash k převzetí vstupu z terminálu.

Příklad:

#!/bin/bash
#Vytiskněte zprávu
vyhodil 'Zadejte své jméno'
#Získejte vstup od uživatele
čístnázev
# Vytiskněte hodnotu $ name s jiným řetězcem
vyhodil 'Vaše jméno je$ jméno'

#10. Jak používat argumenty příkazového řádku v bash?

Argumenty příkazového řádku čte $ 1, $ 2, $ 3… $ n proměnné. Hodnoty argumentů příkazového řádku jsou v terminálu poskytovány při provádění skriptu bash. 1 $ slouží ke čtení prvního argumentu, 2 $ slouží ke čtení druhého argumentu a tak dále.

Příklad:

#!/bin/bash
#Zkontrolujte, zda je či není zadán argument
-li [[ $ # -ekv 0 ]];pak
vyhodil 'Žádný argument není uveden.'
výstup 0
být
#Uložte první hodnotu argumentu
barva=1 $
# Vytiskněte argument s jiným řetězcem
printf „Tvoje oblíbená barva je %s n' $ barva

#11. Je bash slabě napsaný jazyk? Proč?

Ano, bash je považován za slabě nebo volně napsaný jazyk, protože nevyžaduje deklaraci typu dat v době deklarace proměnné. Všechny proměnné bash jsou ve výchozím nastavení považovány za řetězec a typ proměnné bude nastaven na základě aktuální hodnoty. Bash proměnné s datovými typy lze definovat pomocí prohlásit příkaz s konkrétní možností. Možnosti definice datových typů jsou však omezené a nepodporují všechny typy dat. Například, plovák datový typ nelze deklarovat pomocí prohlásit příkaz.

Příklad:

#!/bin/bash

#Datový typ $ myVar je ve výchozím nastavení řetězec
myVar=29

# Vytiskněte proměnnou
vyhodil $ myVar

# Deklarujte celočíselnou proměnnou $ number s hodnotou 67
prohlásit -i číslo=67

#Vytiskněte proměnnou
vyhodil $ číslo

# Přiřaďte data řetězce do číselné proměnné. Vygeneruje se následující řádek
# chyba syntaxe a hodnota $ number se nezmění
číslo='Mám rád bash'
vyhodil $ číslo

#12. Jak číst druhé slovo nebo sloupec z každého řádku souboru?

Druhé slovo nebo sloupec souboru lze přečíst ve skriptu bash snadno pomocí různých příkazů bash, jako například `awk`,` sed` atd. Zde je použití `awk` je ukázáno v následujícím příkladu.
Příklad: Předpokládejme, že soubor course.txt obsahuje následující obsah a že jsme vytiskli pouze druhé slovo z každého řádku tohoto souboru.

CSE201 Java Programování
Struktura dat CSE303
CSE408 Unixové programování#!/bin/bash
# Následující skript vytiskne druhé slovo každého řádku ze souboru course.txt.
# výstup příkazu cat bude předán příkazu awk, který přečte druhé slovo
# každého řádku.
vyhodil ``kočkacourse.txt| awk '{print $ 2}'``

#13. Jak deklarovat a přistupovat k proměnné pole v bash?

Číselná i asociativní pole jsou podporována skriptem bash. Proměnnou pole lze deklarovat pomocí příkazu declare i bez něj. -na volba se používá s příkazem declare k definování číselného pole a -NA volba se používá s příkazem declare k definování asociativního pole v bash. Bez příkazu declare lze numerické pole definovat pouze v bash.

Příklad:

#!/bin/bash

# Deklarujte jednoduché číselné pole
arr1=(CodeIgniter Laravel ReactJS)

# Vytiskněte hodnotu prvního prvku $ arr1
vyhodil $ {arr1 [0] {

# Deklarujte numerické pole pomocí příkazu declare
prohlásit -na arr2=(HTML CSS JavaScript)

# Vytiskněte hodnotu druhého prvku $ arr2
vyhodil $ {arr2 [1]}

# Deklarujte asociativní pole pomocí příkazu declare
prohlásit -NA arr3=( [rámec]= Laravel[CMS]= Wordpress[Knihovna]= JQuery)

# Vytiskněte hodnotu třetího prvku $ arr3
vyhodil $ {arr3 [knihovna]}

Ke všem prvkům pole lze přistupovat pomocí libovolné smyčky nebo symbolu „*“ jako indexu pole.

#14. Jak lze v bashu použít podmíněné příkazy?

Nejběžnějším podmíněným příkazem ve většině programovacích jazyků je if-elseif-else tvrzení. Syntaxe souboru if-elseif-else příkaz v bash se trochu liší od ostatních programovacích jazyků. 'Li' příkaz lze deklarovat dvěma způsoby v bash skriptu a každý typ 'li' blok musí být uzavřen pomocí 'být' . 'li' příkaz lze definovat třetími závorkami nebo prvními závorkami jako jiné programovací jazyky.

Syntax:
NA.

-li [stav];
pak
prohlášení
být

B.

-li [stav];pak
prohlášení1
jiný
tvrzení2
být

C.

-li [stav];pak
tvrzení1
elif[stav];pak
tvrzení2
….
jiný
prohlášení č
být

Příklad:

#!/bin/bash

# Přiřaďte hodnotu $ n
n=30
# Zkontrolujte, zda je $ n větší než 100 nebo ne
-li [ $ n -gt 100 ];pak
vyhodil '$ nje menší než 100 '
# Zkontrolujte $ n id větší než 50 nebo ne
elif [ $ n -gt padesátka ];pak
vyhodil '$ nje menší než 50 '
jiný
vyhodil '$ nje menší než 50 '
být

#15. Jak porovnat hodnoty v bash?

K porovnání hodnot lze v bashu použít šest typů operátorů porovnání. V závislosti na datovém typu existují dva způsoby použití těchto operátorů v bash. Ty jsou uvedeny níže.

Porovnání řetězců Celočíselná kombinace Popis
== -ekv Slouží ke kontrole rovnosti
! = -narozený Slouží ke kontrole nerovnosti
< -lt Používá se zkontrolujte, zda je první hodnota menší než druhá hodnota nebo ne
> -gt Používá se zkontrolujte, zda je první hodnota větší než druhá hodnota nebo ne
<= -ten Používá se zkontrolujte, zda je první hodnota menší nebo rovna druhé hodnotě nebo ne
> = -dát Používá se zkontrolujte, zda je první hodnota větší nebo rovna druhé hodnotě nebo ne

Příklad:

#!/bin/bash
# Inicializujte $ n
n=130
nebo='dokonce'
# Kontrola $ n je větší nebo rovna 100 nebo nepoužívá „–ge“.
-li [ $ n -dát 100 ];pak
vyhodil '$ nje větší nebo roven 100 '
jiný
vyhodil '$ nje menší než 100 '
být
# Kontrola $ n je sudá nebo lichá pomocí operátoru ‘==’
-li (( $ o=='dokonce' ));pak
vyhodil „Číslo je sudé“
jiný
vyhodil 'Číslo je liché'
být

#16. Který podmíněný příkaz lze použít jako alternativu k příkazům if-elseif-else v bash?

'případ' prohlášení lze použít jako alternativní tp if-elseif-if tvrzení. Syntaxe pro 'případ' příkaz v bash skriptech se liší od příkazu spínací skříňka prohlášení o ostatních programovacích jazycích. 'případ' blok je uzavřen ‚Esac‘ prohlášení v bash. Ne ' přestávka „Prohlášení je použito uvnitř“ případ ‘Block pro ukončení z bloku.

Syntax:

případ v
Zápasový vzor1)příkazy;;
Zápasový vzor2)příkazy;;
……
Odpovídající vzor č)příkazy;;
esac

Příklad:

#!/bin/bash
#Inicializujte proměnnou $ ticket
lístek=101
# Porovnejte hodnotu $ tiketu s 23, 101 a 503
případ $ lístek v
2. 3)
# Vytiskněte zprávu, pokud je hodnota 23
vyhodil „Máte první cenu“;;
101)
# Vytiskněte zprávu, pokud je hodnota 101
vyhodil „Máte druhou cenu“;;
503)
# Vytiskněte zprávu, pokud je hodnota 503
vyhodil „Získali jste třetí cenu“;;
*)
# Vytiskněte zprávu, pokud hodnota neodpovídá 23, 101 a 503
vyhodil „Promiňte, zkuste to příště“
výstup 0;;
esac

#17. Jaké různé typy smyček lze použít v bash?

Tři typy smyček jsou podporovány skriptem bash. Tyto jsou zatímco, pro a dokud smyčky. Smyčky v bash zkontrolujte stav na začátku smyčky. Zatímco smyčka funguje, dokud podmínka nezůstane pravdivá a dokud smyčka funguje, dokud podmínka zůstane nepravdivá. Existují dva způsoby použití pro smyčka. Jeden je obecný pro smyčka, která obsahuje tři části a další je pro-in smyčka. Použití těchto tří smyček je ukázáno v následujícím příkladu.

Příklad:

#!/bin/bash
# Inicializujte $ n
n=5
# Vypočítejte druhou mocninu 5-1 pomocí cyklu while
zatímco [ $ n -gt 0 ]
dělat
sqr= $((n*n))
vyhodil `` Náměstí$ nje$ sqr'
((n--))
Hotovo

# Vypočítejte druhou mocninu 5-1 pomocí smyčky for
pro (( =5; já>0; já--))
dělat
sqr= $((*))
vyhodil `` Náměstí$ ije$ sqr'
Hotovo

# Inicializujte $ x
X=5

# Vypočítejte druhou mocninu 5-1 pomocí cyklu až
dokud [ $ x -ten 0 ]
dělat
sqr= $((X*X))
vyhodil `` Náměstí$ xje$ sqr'
((X--))
Hotovo

#18. Jak lze v bash deklarovat a volat podprogramy?

V bash se funkce nebo procedura nazývá podprogram. Deklarace a volání podprogramu v bash se liší od ostatních jazyků. Na rozdíl od jiných standardních programovacích jazyků nelze v podprogramech deklarovat žádný argument. Ale lokální proměnné lze definovat v rámci podprogramu pomocí 'místní' klíčové slovo.

Příklad:

#!/bin/bash
# Inicializujte proměnnou $ x a $ y, které jsou globální
X=10
a=35

# Deklarujte funkci
myFunc() {
# Deklarujte místní proměnnou $ x
místní X=patnáct

# Znovu přiřaďte globální proměnnou $ y
a=25

# Vypočítejte součet $ x a $ y
S= $((x + y))

# Vytiskněte součet lokální proměnné $ x a globální proměnné $ y
vyhodil 'Součet$ xa$ yrovná$ z'
}

# Zavolejte funkci
myFunc

# Vytiskněte součet globálních proměnných, $ x a $ y
vyhodil 'Součet$ xa$ yrovná$ z'

#19. Jak vyjmout a vytisknout některou část dat řetězce v bash?

Bash nemá žádnou vestavěnou funkci jako jiné jazyky pro ořez některých částí řetězcových dat. Ale pomocí rozšíření parametrů lze v bash snížit libovolnou hodnotu řetězce. V rozbalení parametrů lze definovat tři části oddělením dvojtečkou, čímž se odstraní jakákoli část dat řetězce. Zde jsou první dvě části povinné a poslední část je volitelná. První část obsahuje hlavní proměnnou řetězce, která bude použita ke stříhání, druhá část je výchozí pozice, odkud bude struna odstřižena a třetí část je délka řezací struny. Počáteční pozice musí být počítána od 0 a délka musí být počítána od 1 hlavního řetězce, aby se získala řezná hodnota.

Příklad:

#!/bin/bash
# Inicializujte hodnotu řetězce na $ string
tětiva='Python Scripting Language'
# Ořízněte hodnotu řetězce z pozice 7 na konec řetězce
vyhodil $ {string: 7}
# Vyřízněte hodnotu řetězce 9 znaků z pozice 7
vyhodil $ {string: 7: 9}
# Snižte hodnotu řetězce ze 17 na 20
vyhodil $ {string: 17: -4}

#20. Zmínit některé způsoby provádění aritmetických operací v bash?

Aritmetické operace lze v bashu provádět několika způsoby. „Let“, „expr“, „bc“ a dvojité závorky jsou nejběžnějšími způsoby provádění aritmetických operací v bash. Použití těchto příkazů je ukázáno v následujícím příkladu.

Příklad:

#!/bin/bash
# Výpočet odčítání pomocí expr a rozšíření parametrů
var1= $( expr 120-100 )
# vytiskněte výsledek
vyhodil $ var1
# Vypočítejte sčítání pomocí příkazu let
nechat var2=200+300
# Vytiskněte rsult
vyhodil $ var2
# Vypočítejte a vytiskněte hodnotu dělení pomocí „bc“, abyste získali výsledek
# se zlomkovou hodnotou
vyhodil 'scale = 2; 44/7 ' | před naším letopočtem
# Vypočítejte hodnotu násobení pomocí dvojitých závorek
var3= $(( 5*3 ))
# Vytiskněte výsledek
vyhodil $ var3

#21. Jak zkontrolovat, zda adresář existuje nebo nepoužívá bash?

Bash má mnoho testovacích příkazů, které kontrolují, zda soubor nebo adresář existuje nebo ne, a typ souboru. '-D' volba se používá s adresářovou cestou jako podmíněný příkaz ke kontrole, zda adresář existuje nebo ne v bash. Pokud adresář existuje, vrátí hodnotu true, jinak vrátí hodnotu false.

Příklad:

#!/bin/bash
# Přiřaďte adresáři cestu v proměnné $ path
cesta='/home/ubuntu/temp'
# Zkontrolujte, zda adresář existuje nebo ne
-li [ -d '$ cesta' ];pak
# Vytiskněte zprávu, pokud adresář existuje
vyhodil 'Adresář existuje'
jiný
# Vytiskněte zprávu, pokud adresář neexistuje
vyhodil „Adresář neexistuje“
být

#22. Jak lze ukončit bash skript bez provedení všech příkazů?

Použitím 'výstup' příkaz, skript bash lze ukončit bez provedení všech příkazů. Následující skript zkontroluje, zda konkrétní soubor existuje nebo ne. Pokud soubor existuje, vytiskne celkový počet znaků souboru a pokud soubor neexistuje, ukončí skript zobrazením zprávy.

Příklad:

#!/bin/bash

# Inicializujte název souboru na proměnnou $ název_souboru
název souboru='course.txt'

# Zkontrolujte, zda soubor existuje nebo ne, pomocí volby -f
-li [ -F '$ název_souboru' ];pak
# Vytiskněte zprávu, pokud soubor existuje
vyhodil '$ název_souboruexistuje '
jiný
# Vytiskněte zprávu, pokud soubor neexistuje
vyhodil '$ název_souboruneexistuje '
# Ukončete skript
výstup 1
být

# Počítejte délku souboru, pokud soubor existuje
délka=``toaleta -C $ název_souboru``

# Vytiskněte délku souboru
vyhodil 'Celkový počet znaků -$ délka'

#23. Jaká jsou použití příkazů break a continue v bash?

přestávka příkaz se používá k ukončení ze smyčky bez dokončení úplné iterace na základě podmínky a pokračovat příkaz se používá ve smyčce k vynechání některých příkazů na základě podmínky. Použití přestávka a pokračovat příkazy jsou vysvětleny v následujícím příkladu.

Příklad:

#!/bin/bash
# Inicializací proměnné $ i na 0 spustíte smyčku
=0
# smyčka se bude opakovat 10krát
zatímco [ $ i -ten 10 ]
dělat
# Zvyšte hodnotu $ i o 1
((i ++))
# Pokud se hodnota $ i rovná 8, pak smyčku ukončete příkazem 'break'
-li [ $ i -ekv 8 ];pak
přestávka;
být
# Pokud je hodnota $ i větší než 6, vynechejte poslední příkaz smyčky
# pomocí příkazu continue
-li [ $ i -dát 6 ];pak
pokračovat;
být
vyhodil 'aktuální hodnota i =$ i'
Hotovo

# Vytiskněte hodnotu $ i po ukončení ze smyčky
vyhodil „Nyní hodnota i =$ i'

#24. Jak vytvořit spustitelný soubor bash?

Spustitelné soubory bash lze vytvořit pomocí 'Chmod' příkaz. Povolení spustitelného souboru lze nastavit pomocí '+ X' v chmod příkaz s názvem skriptu. Soubory Bash lze spouštět bez explicitního 'Bash' po nastavení bitové kopie spuštění pro tento soubor.

Příklad:

# Nastavte prováděcí bit
$chmod+ x název_souboru.sh

# Spusťte spustitelný soubor
$./název_souboru.sh

#25. Uveďte některé možnosti, které se používají k testování souborů

V bash je k testování souboru k dispozici mnoho možností. Některé možnosti jsou uvedeny níže.

Volba Popis
-F Slouží k testování, zda soubor existuje, a je to běžný soubor.
-A Slouží k testování pouze toho, zda soubor existuje.
-r Slouží k testování, zda soubor existuje a zda má oprávnění ke čtení.
-v Slouží k testování, zda soubor existuje, a má oprávnění k zápisu.
-X Slouží k testování, zda soubor existuje a má oprávnění ke spuštění.
-d Slouží k testování, zda adresář existuje.
-TĚ Slouží k testování, zda soubor existuje, a jedná se o symbolický odkaz.
-S Používá se k testování existujícího souboru a je to soket.
-b Slouží k testování, zda je soubor blokovým zařízením.
-s Slouží ke kontrole, zda soubor nemá nulové velikosti.
-např Slouží ke kontrole, že obsah prvního souboru je novější než druhý soubor. Například file1 -nt file2 označuje, že file1 je novější než file2.
-ot Slouží ke kontrole, že obsah prvního souboru je starší než druhý soubor. Například file1 -ot file2 označuje, že file1 je starší než file2.
-ef Slouží ke kontrole, že dva pevné odkazy odkazují na stejný soubor. Například flink1 -ef flink2 označuje, že flink1 a flink2 jsou pevné odkazy a oba odkazují na stejný soubor.

#26. Co znamená „bc“ a jak lze tento příkaz použít v bash?

Úplná forma ‚bc‘ je Bash kalkulačka provádět aritmetické operace přesněji v bash. Částečná část je vynechána, pokud se v bash provádí jakákoli aritmetická operace pomocí 'Expr' příkaz. Částečnou část lze zaokrouhlit také pomocí měřítko hodnotu pomocí 'před naším letopočtem' příkaz.

Příklad:

#!/bin/bash
# Vypočítejte dělení bez zlomkové hodnoty
vyhodil '39 / 7 ' | před naším letopočtem

# Vypočítejte dělení s plnou zlomkovou hodnotou
vyhodil '39 / 7 ' | před naším letopočtem -ten

# Vypočítejte dělení třemi číslicemi za desetinnou čárkou
vyhodil 'scale = 3; 39/7 ' | před naším letopočtem

#27. Jak můžete v bash vytisknout konkrétní řádek souboru?

Existuje mnoho způsobů, jak vytisknout konkrétní řádek v bash. Jak 'awk', 'sed' a 'ocas' příkazy lze použít k tisku konkrétního řádku souboru v bash je ukázáno v následujícím příkladu.

Příklad:

#!/bin/bash

# Přečtěte a uložte první řádek ze souboru pomocí příkazu `awk` s proměnnou NR
řádek 1=``awk '{if (NR == 1) print $ 0}'course.txt``
# Vytiskněte řádek
vyhodil $ řádek1

# Přečtěte druhý řádek ze souboru pomocí příkazu `sed` s volbou -n
řádek 2=``sed -n2p course.txt``
# Vytiskněte řádek
vyhodil $ řádek2

# Přečtěte poslední řádek ze souboru pomocí příkazu `tail 's volbou -n
řádek 3=``ocas -n 1course.txt``
# Vytiskněte soubor
vyhodil $ řádek3

#28. Co je IFS?

IFS je speciální proměnná prostředí. Úplná forma IFS je interní oddělovač polí,
slouží jako oddělovač k oddělení slova od řádku textu. Používá se hlavně pro rozdělení řetězce, čtení příkazu, nahrazení textu atd.

Příklad:

#!/bin/bash
# Deklarovat ':' jako oddělovač pro rozdělení textu
IFS=':'
# Přiřaďte textová data pomocí ':' k $ textu
text=„Červená: Zelená: Modrá“
Smyčka # for přečte každé slovo po rozdělení textu na základě IFS
prohodv $ text;dělat
# Vytiskněte slovo
vyhodil $ hodin
Hotovo

#29. Jak zjistit délku řetězcových dat?

„Expr“, „wc“ a 'Awk' příkazy lze použít ke zjištění délky řetězcových dat v bash. 'Expr' a 'Awk' příkazy použít délka volba, 'Toaleta' příkaz používá '-C' možnost spočítat délku řetězce.

Příklad:

Použití výše uvedených příkazů je ukázáno v následujícím skriptu.

#!/bin/bash
# Počítejte délku pomocí možnosti „expr“
vyhodil ``exprdélka„Mám rád PHP“``
# Počítejte délku pomocí příkazu `wc`
vyhodil 'Bash se mi líbí' | toaleta -C
# Počítejte délku pomocí příkazu `awk`
vyhodil „Mám rád Python“ | awk '{print length}'

#30. Jak spustit více bash skriptů paralelně?

Více skriptů bash lze provádět souběžně pomocí nohup příkaz. V následujícím příkladu je ukázáno, jak lze ze složky provádět souběžně více souborů bash.

Příklad:

# Přiřaďte názvu složky cestu v proměnné $ dir, která obsahuje
# více bash souborů
tobě='home/Ubuntu/temp'

Smyčka # for přečte každý soubor z adresáře a provede paralelně
proskriptvtobě/ *.sh
dělat
nohup bash '$ skript' &
Hotovo

Závěr:

V tomto článku je popsána většina základních otázek pro rozhovor s bash skriptem pro čtenáře, kteří chtějí začít kariéru jako bash programátor.