30 script bash Entrevistar preguntes i respostes

30 Bash Script Interview Questions



Els scripts Bash són un llenguatge de programació molt útil i potent que s'utilitza principalment per automatitzar qualsevol tasca manual. Un sol·licitant d’ocupació que vulgui ser provador d’automatismes o programador bash ha d’afrontar algunes preguntes habituals a l’entrevista. Hi ha diferents tipus de scripts de shell a Linux. Un dels scripts de shell populars i més utilitzats és Bourne Again Shell o Bash. En aquest article es descriuen 30 preguntes i respostes importants sobre l'entrevista sobre el llenguatge de script bash per preparar-se per al treball.

# 01. Què és l'escriptura bash?

L'escriptura bash és un llenguatge de programació de l'intèrpret d'ordres. En general, executem molts tipus d’ordres de shell des del terminal escrivint cada ordre per separat que requereix temps i esforços. Si necessitem tornar a executar les mateixes ordres, hem d'executar de nou totes les ordres des del terminal. Però mitjançant un script bash, podem emmagatzemar moltes sentències d’ordres de shell en un sol fitxer bash i executar el fitxer en qualsevol moment mitjançant una sola ordre. Moltes tasques relacionades amb l'administració del sistema, la instal·lació del programa, la còpia de seguretat del disc, l'avaluació de registres, etc. es poden fer utilitzant un script bash adequat.







# 02. Quins avantatges té utilitzar scripts bash?

L'escriptura Bash té molts avantatges que es descriuen a continuació:



  • És fàcil d’utilitzar i d’aprendre.
  • Moltes tasques manuals que necessiten executar-se amb freqüència es poden fer automàticament escrivint un script bash.
  • La seqüència de diverses ordres de l'intèrpret d'ordres pot ser executada per una sola ordre.
  • L'escriptura Bash escrita en un sistema operatiu Linux es pot executar fàcilment en un altre sistema operatiu Linux. Per tant, és portàtil.
  • La depuració en bash és més fàcil que altres llenguatges de programació.
  • La sintaxi de línia d'ordres i les ordres que s'utilitzen al terminal són similars a les ordres i la sintaxi utilitzades en l'script bash.
  • El script Bash es pot utilitzar per enllaçar amb altres fitxers de script.

# 03. Esmenta els desavantatges dels scripts bash

A continuació s’esmenten alguns desavantatges de l’escriptura bash:



  • Funciona més lentament que altres idiomes.
  • L'escriptura incorrecta pot danyar tot el procés i generar un error complicat.
  • No és adequat per desenvolupar una aplicació gran i complexa.
  • Conté una estructura de dades inferior en comparació amb altres llenguatges de programació estàndard.

# 04. Quins tipus de variables s’utilitzen a bash?

Es poden utilitzar dos tipus de variables en l'script bash. Aquests són:

Variables del sistema
Les variables predefinides i mantingudes pel sistema operatiu Linux s'anomenen variables del sistema. Aquest tipus de variables sempre s’utilitzen en majúscules. Els valors predeterminats d'aquestes variables es poden canviar segons els requisits.

`set`,` env` i ` printenv Les ordres `es poden utilitzar per imprimir la llista de variables del sistema.

Exemple:





#! / bin / bash
# Variables del sistema d'impressió

#Print Bash nom de l'intèrpret d'ordres
trobo $ BASH

# Imprimeix la versió de l'intèrpret d'ordres de Bash
trobo $ BASH_VERSION

# Imprimeix el nom del directori d'inici
trobo $ INICI

Variable definida per l'usuari

Les variables que creen i mantenen els usuaris s'anomenen variables definides per l'usuari. També s’anomenen variables locals. Aquest tipus de variables es poden declarar utilitzant minúscules o majúscules o amb majúscules i minúscules. Però és millor evitar utilitzar totes les lletres majúscules per diferenciar les variables de les variables del sistema.
Exemple:

#! / bin / bash

en un=100
trobo $ num

# 05. Com es poden declarar i eliminar variables a bash?

La variable es pot declarar en bash per tipus de dades o sense tipus de dades. Si es declara alguna variable bash sense declari , la variable es tractarà com una cadena. La variable Bash es declara amb declari ordre per definir el tipus de dades de la variable en la declaració de temps.



–R , -i, -a, -A, -l, -u, -t i -x es poden utilitzar opcions amb declari ordre per declarar una variable amb diferents tipus de dades.

Exemple:

#! / bin / bash

#Declare la variable sense cap tipus
en un=10

# Els valors es combinaran però no s’afegiran
resultat=$ num+20
trobo $ resultat

#Declare la variable amb tipus enter
declari -i en un=10

S'afegiran #Valors
declari -i resultat= num +20
trobo $ resultat

inestable La comanda s'utilitza per eliminar qualsevol variable bash. La variable serà inaccessible o indefinida després d'utilitzar-la inestable comandament.

Exemple:

#! / bin / bash

pàg='Linux Hint'
trobo $ str
inestable $ str
trobo $ str

# 06. Com afegir comentaris en un script bash?

Els comentaris d'una sola línia i de diverses línies es poden utilitzar en script bash. ' # 'Símbol s'utilitza per al comentari d'una sola línia. '<<’ símbol amb un delimitador i ':' amb single (‘) s’utilitzen per afegir comentaris de diverses línies.

Exemple:

#! / bin / bash
#Imprimeix el text [Comentari d'una sola línia]
trobo 'Programació Bash'
< Calculeu la suma
De dos números [comentari multilínia]
Afegeix un comentari

en un=25+35
trobo $ num
:'
Combineu-ne dos
Dades de cadenes [comentari multilínia]
'

Corda='Hola'
trobo $ string'Món'

# 07. Com es poden combinar cadenes en un script bash?

Els valors de cadena es poden combinar en bash de diferents maneres. Normalment, els valors de les cadenes es combinen col·locant-los junts, però hi ha altres maneres de combinar dades de cadenes.

Exemple:

#! / bin / bash
# Inicialitzar les variables
str1='PHP'
str2='Bash'
str3='Perl'

# Imprimeix la cadena juntament amb l'espai
trobo $ str1 $ str2 $ str3

#Combina totes les variables i emmagatzema-les en una altra variable
pàg='$ str1,$ str2i$ str3'

#Combina altres dades de cadenes amb el valor existent de la cadena
str + ='són llenguatges de seqüència d'ordres'

#Imprimiu la cadena
trobo $ str

# 08. Quines ordres s’utilitzen per imprimir la sortida a bash?

`echo` i `printf` es poden utilitzar ordres per imprimir la sortida en bash. `tiro La comanda `s'utilitza per imprimir la sortida simple i `printf` s'utilitza l'ordre per imprimir la sortida formatada.

Exemple:

#! / bin / bash

#Imprimeix el text
trobo 'Benvingut a LinuxHint'
lloc='Linuxhint.com'
#Imprimiu el text formatat
printf '% s és un lloc popular de blocs n' $ lloc

# 09. Com treure l'entrada del terminal a bash?

'llegir' La comanda s'utilitza en un script bash per prendre l'entrada del terminal.

Exemple:

#! / bin / bash
#Imprimeix el missatge
trobo 'Introdueixi el seu nom'
# Preneu l'entrada de l'usuari
llegirnom
# Imprimiu el valor de $ name amb una altra cadena
trobo 'El teu nom és$ nom'

# 10. Com s'utilitzen arguments de línia d'ordres a bash?

Els arguments de la línia d'ordres són llegits per $ 1, $ 2, $ 3 ... $ n les variables. Els valors dels arguments de línia d'ordres es proporcionen al terminal quan s'executa l'script bash. $ 1 s'utilitza per llegir el primer argument, $ 2 s’utilitza per llegir el segon argument, etc.

Exemple:

#! / bin / bash
#Comproveu si es proporciona qualsevol argument o no
si [[ $ # -eq 0 ]];llavors
trobo 'No es dóna cap argument'.
sortir 0
ser
# Emmagatzemeu el valor del primer argument
color=$ 1
# Imprimiu l'argument amb una altra cadena
printf 'El vostre color preferit és% s n' $ color

# 11. El bash és un llenguatge feble? Per què?

Sí, bash es considera un llenguatge escriure poc o poc perquè no requereix declarar el tipus de dades en el moment de declarar la variable. Totes les variables bash es tracten com una cadena per defecte i el tipus de variable es definirà en funció del valor actual. Es poden definir variables bases amb tipus de dades mitjançant declari amb una opció particular. Però les opcions per definir tipus de dades són limitades i no admeten tots els tipus de dades. Per exemple, flotar no es pot declarar el tipus de dades mitjançant l’ús declari comandament.

Exemple:

#! / bin / bash

# El tipus de dades de $ myVar és una cadena per defecte
myVar=29

# Imprimiu la variable
trobo $ myVar

# Declareu la variable enter $ number amb el valor 67
declari -i número=67

#Imprimiu la variable
trobo $ número

# Assigneu dades de cadenes a la variable numèrica. Es generarà la següent línia
# error de sintaxi i el valor de $ number no canviarà
número='M'agrada bash'
trobo $ número

# 12. Com es llegeix la segona paraula o columna de cada línia d'un fitxer?

La segona paraula o columna d'un fitxer es pot llegir en un script bash utilitzant fàcilment diferents ordres bash, com ara 'awk', 'sed', etc. Aquí, l'ús de 'awk' es mostra a l'exemple següent.
Exemple: Suposem que el fitxer course.txt conté el contingut següent i només hem imprès la segona paraula de cada línia d’aquest fitxer.

Programació Java CSE201
Estructura de dades CSE303
Programació CSE408 Unix#! / bin / bash
# El següent script imprimirà la segona paraula de cada línia del fitxer course.txt.
# la sortida de l'ordre cat passarà a l'ordre awk que llegirà la segona paraula
# de cada línia.
trobo `gatcurs.txt| awk '{print $ 2}'`

# 13. Com es pot declarar i accedir a una variable de matriu a bash?

Tant les matrius numèriques com les associatius són compatibles amb un script bash. Es pot declarar una variable de matriu amb i sense l'ordre declare. -a L'opció s'utilitza amb l'ordre declare per definir una matriu numèrica i -A L'opció s'utilitza amb declaració declarar per definir una matriu associativa a bash. Sense l'ordre declare, la matriu numèrica només es pot definir en bash.

Exemple:

#! / bin / bash

# Declareu una matriu numèrica simple
arr1=(CodeIgniter Laravel ReactJS)

# Imprimiu el valor del primer element de $ arr1
trobo $ {arr1 [0] {

# Declareu una matriu numèrica mitjançant l'ordre declare
declari -a arr2=(JavaScript CSS HTML)

# Imprimiu el valor del segon element de $ arr2
trobo $ {arr2 [1]}

# Declareu una matriu associativa mitjançant la declaració declare
declari -A arr3=( [marc]= Laravel[CMS]= Wordpress[Biblioteca]= JQuery)

# Imprimiu el valor del tercer element de $ arr3
trobo $ {arr3 [Biblioteca]}

Es pot accedir a tots els elements d’una matriu mitjançant qualsevol bucle o símbol ‘*’ com a índex de matriu.

# 14. Com es poden utilitzar afirmacions condicionals en bash?

La declaració condicional més comuna en la majoria dels llenguatges de programació és el if-elseif-else declaració. La sintaxi de if-elseif-else declaració en bash és una mica diferent dels altres llenguatges de programació. 'Si' La declaració es pot declarar de dues maneres en un script bash i en qualsevol tipus de 'si' s'ha de tancar amb 'ser' . 'si' La sentència es pot definir mitjançant tercers claudàtors o primers claus com altres llenguatges de programació.

Sintaxi:
A.

si [condició];
llavors
declaracions
ser

B.

si [condició];llavors
declaracions1
en cas contrari
declaració2
ser

C.

si [condició];llavors
declaració1
elif[condició];llavors
declaració2
....
en cas contrari
declaració n
ser

Exemple:

#! / bin / bash

# Assigneu un valor a $ n
n=30
# El xec $ n és superior a 100 o no
si [ $ n -gt 100 ];llavors
trobo '$ nés inferior a 100 '
# Marqueu $ n identificador superior a 50 o no
elif [ $ n -gt 50 ];llavors
trobo '$ nés inferior a 50 '
en cas contrari
trobo '$ nés inferior a 50 '
ser

# 15. Com es comparen els valors de bash?

Es poden utilitzar sis tipus d'operadors de comparació a bash per comparar valors. Hi ha dues maneres d'utilitzar aquests operadors en bash en funció del tipus de dades. Aquests esmenten a continuació.

Comparació de cordes Integer Comarison Descripció
== -eq S'utilitza per comprovar la igualtat
! = -nascut S'utilitza per comprovar la desigualtat
< -lt S'utilitza comproveu que el primer valor sigui inferior o no al segon valor
> -gt S'utilitza comproveu que el primer valor sigui superior o no al segon valor
<= -la S'utilitza comproveu que el primer valor sigui menor o igual al segon valor o no
> = -dóna S'utilitza comproveu que el primer valor sigui superior o igual al segon valor o no

Exemple:

#! / bin / bash
# Inicialitzeu $ n
n=130
o='fins i tot'
# Comproveu que $ n és superior o igual a 100 o que no utilitzeu '–ge'.
si [ $ n -dóna 100 ];llavors
trobo '$ nés superior o igual a 100 '
en cas contrari
trobo '$ nés inferior a 100 '
ser
# La comprovació de $ n és parella o senar mitjançant l'operador '=='
si (( $ o=='fins i tot' ));llavors
trobo 'El nombre és parell'
en cas contrari
trobo 'El número és senar'
ser

# 16. Quina afirmació condicional es pot utilitzar com a alternativa a les afirmacions if-elseif-else a bash?

'Caixa' instrucció es pot utilitzar com a tp alternativa if-elseif-if declaració. La sintaxi de 'Caixa' La declaració dels scripts bash és diferent de la canvi de cas declaració d'altres llenguatges de programació. 'Caixa' el bloc està tancat per 'Esac' declaració en bash. No ' trencar 'Instrucció s'utilitza dins' Caixa ‘Bloc per acabar des del bloc.

Sintaxi:

Caixa dins
Patró de coincidència1)ordres;;
Patró de coincidència2)ordres;;
......
Patró de coincidència n)ordres;;
esac

Exemple:

#! / bin / bash
#Inicialitzeu la variable $ ticket
bitllet=101
# Compareu el valor del bitllet $ amb 23, 101 i 503
Caixa $ bitllet dins
23)
# Imprimiu el missatge si el valor és 23
trobo 'Tens el primer premi';;
101)
# Imprimiu el missatge si el valor és 101
trobo 'Tens el segon premi';;
503)
# Imprimiu el missatge si el valor és 503
trobo 'Tens el tercer premi';;
*)
# Imprimiu el missatge si el valor no coincideix amb 23, 101 i 503
trobo 'Ho sento, prova per la propera vegada'
sortir 0;;
esac

# 17. Quins tipus de bucles es poden utilitzar a bash?

Un script bash admet tres tipus de bucles. Aquests són mentre, per i fins bucles. Els bucles en bash comproven l'estat a l'inici del bucle. Mentre loop funciona fins que la condició continua sent veritable i fins bucle funciona fins que la condició continua sent falsa. Hi ha dues maneres d’utilitzar-les per bucle. Un és general per bucle que conté tres parts i una altra és for-in bucle. Els usos d’aquests tres bucles es mostren a l’exemple següent.

Exemple:

#! / bin / bash
# Inicialitzeu $ n
n=5
# Calculeu el quadrat de 5-1 fent servir el bucle while
mentre [ $ n -gt 0 ]
fer
sqr= $((n*n))
trobo 'La plaça de$ nés$ sqr'
((n--))
fet

# Calculeu el quadrat de 5-1 utilitzant el bucle for
per (( jo=5; jo>0; jo--))
fer
sqr= $((jo*jo))
trobo 'La plaça de$ iés$ sqr'
fet

# Inicialitzeu $ x
x=5

# Calculeu el quadrat de 5-1 fent servir el bucle until
fins [ $ x -la 0 ]
fer
sqr= $((x*x))
trobo 'La plaça de$ xés$ sqr'
((x--))
fet

# 18. Com es poden declarar i cridar subrutines en bash?

A bash, una funció o procediment s’anomena subrutina. La declaració i crida d'una subrutina en bash és diferent a la d'altres idiomes. No es pot declarar cap argument a les subrutines a diferència d'altres llenguatges de programació estàndard. Però les variables locals es poden definir dins de la subrutina utilitzant el fitxer 'Local' paraula clau.

Exemple:

#! / bin / bash
# Inicialitzeu les variables $ x i $ y que són globals
x=10
i=35

# Declareu la funció
myFunc() {
# Declareu la variable local $ x
local x=15

# Reassigneu la variable global $ y
i=25

# Calculeu la suma de $ x i $ y
Amb= $((x + i))

# Imprimiu la suma d'una variable local, $ x i d'una variable global, $ y
trobo 'La suma de$ xi$ iigual a$ z'
}

# Truqueu a la funció
myFunc

# Imprimiu la suma de variables globals, $ x i $ y
trobo 'La suma de$ xi$ iigual a$ z'

# 19. Com es pot tallar i imprimir alguna part d'una cadena de dades en bash?

Bash no té cap funció integrada, com altres idiomes, per retallar una part de les dades de la cadena. Però mitjançant l'expansió dels paràmetres es pot reduir qualsevol valor de cadena en bash. Es poden definir tres parts en l'expansió dels paràmetres separant-se amb dos punts per tallar qualsevol part de les dades de la cadena. Aquí, les dues primeres parts són obligatòries i la darrera part és opcional. La primera part conté la variable de cadena principal que s’utilitzarà per tallar, la segona part és la posició inicial des d’on es tallarà la corda i la tercera part és la longitud de la corda de tall. La posició inicial s’ha de comptar des de 0 i la longitud s’ha de comptar des de l’1 de la cadena principal per recuperar el valor de tall.

Exemple:

#! / bin / bash
# Inicialitzeu un valor de cadena en $ string
corda='Llenguatge d'escriptura Python'
# Retalleu el valor de la cadena des de la posició 7 fins al final de la cadena
trobo $ {string: 7}
# Retalleu el valor de la cadena de 9 caràcters de la posició 7
trobo $ {string: 7: 9}
# Retalleu el valor de la cadena de 17 a 20
trobo $ {string: 17: -4}

# 20. Esmenteu algunes maneres de realitzar operacions aritmètiques a bash?

Les operacions aritmètiques es poden fer de diverses maneres en bash. 'Deixar', 'expr', 'bc' i dobles claudàtors són les formes més habituals de realitzar operacions aritmètiques a bash. Els usos d’aquestes ordres es mostren a l’exemple següent.

Exemple:

#! / bin / bash
# Càlcul de la resta mitjançant l'expr i l'expansió de paràmetres
var1= $( expr 120-100 )
# imprimeix el resultat
trobo $ var1
# Calculeu l'addició mitjançant l'ordre let
deixar var2=200+300
# Imprimiu el resultat
trobo $ var2
# Calculeu i imprimiu el valor de la divisió mitjançant 'bc' per obtenir el resultat
# amb valor fraccionari
trobo 'escala = 2; 44/7 ' | bc
# Calculeu el valor de la multiplicació mitjançant dobles claudàtors
var3= $(( 5*3 ))
# Imprimiu el resultat
trobo $ var3

# 21. Com es pot comprovar que existeix o no un directori mitjançant bash?

Bash té moltes ordres de prova per comprovar si existeix o no un fitxer o directori i el tipus de fitxer. '-D' L'opció s'utilitza amb un camí d'accés al directori com a sentència condicional per comprovar si el directori existeix o no a bash. Si el directori existeix, tornarà a ser vertader en cas contrari, tornarà a ser fals.

Exemple:

#! / bin / bash
# Assigneu el directori amb ruta a la variable, $ ruta
Camí='/ home / ubuntu / temp'
# Comproveu que el directori existeix o no
si [ -d '$ camí' ];llavors
# Imprimiu el missatge si el directori existeix
trobo 'El directori existeix'
en cas contrari
# Imprimiu el missatge si el directori no existeix
trobo 'El directori no existeix'
ser

# 22. Com es pot acabar un script bash sense executar totes les sentències?

Utilitzant 'Sortir' , es pot acabar un script bash sense executar totes les sentències. El següent script comprovarà si existeix o no un fitxer concret. Si el fitxer existeix, s'imprimiran els caràcters totals del fitxer i, si no existeix, acabarà l'script mostrant un missatge.

Exemple:

#! / bin / bash

# Inicialitzeu el nom de fitxer a la variable, $ filename
nom de l'arxiu='course.txt'

# Comproveu que el fitxer existeix o no mitjançant l'opció -f
si [ -f '$ nom de fitxer' ];llavors
# Imprimiu el missatge si el fitxer existeix
trobo '$ nom de fitxerexisteix'
en cas contrari
# Imprimiu el missatge si el fitxer no existeix
trobo '$ nom de fitxerno existeix '
# Acabeu l'script
sortir 1
ser

# Compteu la longitud del fitxer si existeix
llargada=`wc -c $ nom de fitxer`

# Imprimiu la longitud del fitxer
trobo 'Total de caràcters -$ longitud'

# 23. Quins són els usos de les declaracions break and continue a bash?

trencar La instrucció s'utilitza per acabar des d'un bucle sense completar la iteració completa basada en una condició i continuar La sentència s'utilitza en un bucle per ometre algunes sentències basades en una condició. Els usos de trencar i continuar les afirmacions s’expliquen a l’exemple següent.

Exemple:

#! / bin / bash
# Inicialitzeu la variable $ i a 0 per iniciar el bucle
jo=0
# el bucle iterarà per 10 vegades
mentre [ $ i -la 10 ]
fer
# Incrementeu el valor $ i per 1
((i ++))
# Si el valor de $ i és igual a 8, finalitzeu el bucle mitjançant la instrucció 'break'
si [ $ i -eq 8 ];llavors
trencar;
ser
# Si el valor de $ i és superior a 6, ometeu l'última sentència del bucle
# mitjançant la instrucció continue
si [ $ i -dóna 6 ];llavors
continuar;
ser
trobo 'el valor actual de i =$ i'
fet

# Imprimiu el valor de $ i després de finalitzar el bucle
trobo 'Ara el valor de i =$ i'

# 24. Com es pot executar un fitxer bash?

Es poden crear fitxers bash executables mitjançant 'Chmod' comandament. Es pot establir el permís executable mitjançant '+ X' dins chmod ordre amb el nom de fitxer de l'script. Els fitxers Bash es poden executar sense l'explicitat 'Bash' després d'haver configurat el bit d'execució d'aquest fitxer.

Exemple:

# Estableix el bit d'execució
$chmod+ X filename.sh

# Executeu el fitxer executable
$./filename.sh

# 25. Esmenta algunes opcions que s’utilitzen per provar fitxers

Hi ha moltes opcions disponibles a bash per provar el fitxer. A continuació s’esmenten algunes opcions.

Opció Descripció
-f S'utilitza per provar que el fitxer existeix i és un fitxer normal.
-I S'utilitza per provar que el fitxer només existeix.
-r S'utilitza per provar que el fitxer existeix i té permís de lectura.
-en S'utilitza per provar que el fitxer existeix i ha de permetre escriure.
-x S'utilitza per provar que el fitxer existeix i té permís d'execució.
-d S'utilitza per provar que el directori existeix.
-EL S'utilitza per provar que el fitxer existeix i és un enllaç simbòlic.
-S S'utilitza per provar que el fitxer existeix i és un sòcol.
-b S'utilitza per provar que el fitxer és un dispositiu de bloqueig.
-s S'utilitza per comprovar que el fitxer no té mides zero.
-per exemple S'utilitzava per comprovar que el contingut del primer fitxer és més recent que el segon fitxer. Per exemple, file1 -nt file2 indica que file1 és més recent que file2.
-molt S'utilitzava per comprovar que el contingut del primer fitxer és més antic que el segon fitxer. Per exemple, file1 -ot file2 indica que file1 és anterior a file2.
-ef S'utilitza per comprovar que dos enllaços durs fan referència al mateix fitxer. Per exemple, flink1 -ef flink2 indica que flink1 i flink2 són enllaços durs i que fan referència al mateix fitxer.

# 26. Què s’entén per ‘bc’ i com es pot utilitzar aquesta ordre a bash?

La forma completa de 'bc' és Calculadora Bash per realitzar operacions aritmètiques amb més precisió a bash. La part fraccionària s’omet si s’utilitza qualsevol operació aritmètica en bash 'Expr' comandament. La part fraccionària també es pot arrodonir utilitzant escala valor amb 'Bc' comandament.

Exemple:

#! / bin / bash
# Calculeu la divisió sense el valor fraccionari
trobo '39 / 7 ' | bc

# Calculeu la divisió amb el valor fraccionari complet
trobo '39 / 7 ' | bc -la

# Calculeu la divisió amb tres dígits després del punt decimal
trobo 'escala = 3; 39/7 ' | bc

# 27. Com podeu imprimir una línia concreta d'un fitxer en bash?

Hi ha moltes maneres d'imprimir una línia concreta en bash. Com el 'awk', 'sed' i 'Cua' les ordres es poden utilitzar per imprimir una línia particular d'un fitxer en bash es mostra a l'exemple següent.

Exemple:

#! / bin / bash

# Llegiu i emmagatzemeu la primera línia del fitxer mitjançant l'ordre `awk` amb variable NR
línia1=`awk '{if (NR == 1) imprimeix $ 0}'curs.txt`
# Imprimiu la línia
trobo $ línia1

# Llegiu la segona línia del fitxer mitjançant l'ordre `sed` amb l'opció -n
línia2=`sed -n2p course.txt`
# Imprimiu la línia
trobo $ línia2

# Llegiu l'última línia del fitxer mitjançant l'ordre `tail` amb l'opció -n
línia3=`cua -n 1curs.txt`
# Imprimiu el fitxer
trobo $ línia3

# 28. Què és IFS?

IFS és una variable d'intèrpret d'ordres especial. La forma completa de IFS és un separador de camps intern,
actua com a delimitador per separar la paraula de la línia de text. S'utilitza principalment per dividir una cadena, llegir una ordre, substituir text, etc.

Exemple:

#! / bin / bash
# Declare ':' com a delimitador per dividir el text
IFS=':'
# Assigneu dades de text amb ':' a $ text
text='Vermell: verd: blau'
# for loop llegirà cada paraula després de dividir el text segons IFS
perhoresdins $ text;fer
# Imprimiu la paraula
trobo $ hores
fet

# 29. Com esbrinar la longitud d'una cadena de dades?

'Expr', 'wc' i 'Awk' es poden utilitzar ordres per esbrinar la longitud d'una cadena de dades a bash. 'Expr' i 'Awk' ús d'ordres llargada opció, 'Wc' utilitza l'ordre '-C' opció per comptar la longitud de la cadena.

Exemple:

Els usos de les ordres anteriors es mostren al següent script.

#! / bin / bash
# Compteu la longitud amb l'opció de longitud 'expr'
trobo `exprllargada'M'agrada PHP'`
# Compteu la longitud amb l'ordre `wc`
trobo 'M'agrada Bash' | wc -c
# Compteu la longitud amb l'ordre `awk`
trobo 'M'agrada Python' | awk '{longitud d'impressió}'

# 30. Com executar diversos scripts bash en paral·lel?

Es poden executar diversos scripts bash en paral·lel utilitzant nohup comandament. A l'exemple següent es mostra com es poden executar diversos fitxers bash en paral·lel des d'una carpeta.

Exemple:

# Assigneu un nom de carpeta amb el camí de la variable $ dir que conté
# fitxers bash múltiples
a tu='home / Ubuntu / temp'

# for loop llegirà cada fitxer del directori i s'executarà en paral·lel
perguiódinsa tu/ *.sh
fer
nohup bash '$ script' &
fet

Conclusió:

En aquest article es descriuen les preguntes bàsiques sobre les entrevistes bash script per als lectors que vulguin iniciar una carrera com a programador bash.