LINUX

70 Preguntas y respuestas de la entrevista de Shell Scripting

Hemos seleccionado 70 preguntas y respuestas de scripting shell esperadas para la preparación de su entrevista. Es realmente vital para todos los administradores de sistemas conocer las secuencias de comandos o al menos los conceptos básicos que a su vez ayudan a automatizar muchas tareas en su entorno de trabajo. En los últimos años, hemos visto que todas las especificaciones de trabajos de Linux requieren habilidades de scripting.

1) ¿Cómo pasar un argumento a un script?

./script argumento

Ejemplo : El script mostrará el nombre del archivo

./show.sh file1.txt

cat show.sh
#!/bin/bash
cat $1

2) ¿Cómo usar un argumento en un guión?

Primer argumento: $ 1,
Segundo argumento: $ 2

Ejemplo: el script copiará el archivo (arg1) al destino (arg2)

./copy.sh archivo1.txt / tmp /

cat copy.sh
#!/bin/bash
cp $1 $2

3) ¿Cómo calcular el número de argumentos pasados?

PS

4) ¿Cómo obtener el nombre del script dentro de un script?

$ 0

5) ¿Cómo comprobar si el comando anterior se ejecutó correctamente?

PS

6) ¿Cómo obtener la última línea de un archivo?

cola -1

7) ¿Cómo obtener la primera línea de un archivo?

cabeza -1

8) ¿Cómo obtener el tercer elemento de cada línea de un archivo?

awk ‘{imprimir $ 3}’

9) Cómo obtener el segundo elemento de cada línea de un archivo, si el primero es igual a FIND

awk ‘{if ($ 1 == «ENCONTRAR») print $ 2}’

10) Cómo depurar el script bash

Agregue -xv a #! / Bin / bash

Ejemplo

#! / bin / bash –xv

11) ¿Dar un ejemplo de cómo escribir la función?

ejemplo de función {
echo «¡Hola mundo!»
}

12) ¿Cómo agregar una cuerda a una cuerda?

V1 = «Hola»
V2 = «Mundo»
sea ​​V3 = $ V1 + $ V2
echo $ V3

Producción

Hola + mundo

13) ¿Cómo sumar dos enteros?

V1 = 1
V2 = 2
V3 = $ V1 + $ V2
echo $ V3

Producción
3

Remember you need to add "let" to line V3=$V1+$V2
then echo $V3 will give 3

if without let , then it will be

echo $V3 will give 1+2

14) ¿Cómo comprobar si el archivo existe en el sistema de archivos?

si [ -f /var/log/messages ]
entonces
echo «El archivo existe»
fi

15) Escriba la sintaxis de todos los bucles en la secuencia de comandos de shell.

en bucle :

para i en $ (ls); hacer
elemento de eco: $ i
hecho

while bucle:

#! / bin / bash
CONTADOR = 0
mientras [ $COUNTER -lt 10 ]; hacer
echo El contador es $ COUNTER
deje CONTADOR = CONTADOR + 1
hecho

hasta bucle:

#! / bin / bash
CONTADOR = 20
hasta [ $COUNTER -lt 10 ]; hacer
echo CONTADOR $ CONTADOR
deje CONTADOR- = 1
hecho

dieciséis) ¿Qué significa #! / Bin / sh o #! / Bin / bash al comienzo de cada script?

Esa línea dice qué shell usar. #! / bin / bash script para ejecutar usando / bin / bash. En el caso de la secuencia de comandos de Python, habrá #! / Usr / bin / python

17) ¿Cómo obtener la décima línea del archivo de texto?

head -10 file | tail -1

18) ¿Cuál es el primer símbolo en el archivo de script bash?

#

19) ¿Cuál sería la salida del comando? [ -z «» ] && echo 0 || eco 1

0

20) ¿Qué comando «exportar» hacer?

Hace pública variable en subcapas

21) ¿Cómo ejecutar un script en segundo plano?

agregue «&» al final de la secuencia de comandos

22) ¿Qué hace el «script chmod 500»?

Hace que el script sea ejecutable para el propietario del script

23) ¿Qué «>» hacen?

Redirige el flujo de salida a un archivo u otro flujo.

24) ¿Qué diferencia entre & y &&

& – lo usamos cuando queremos poner el script en segundo plano
&& – cuando ejecutamos el comando / script si el primer script se terminó correctamente

25) Cuando necesitamos «si» antes [ condition ] ?

Cuando necesitamos ejecutar varios comandos si la condición cumple.

26) Cuál sería la salida del comando: name = John && echo ‘Mi nombre es $ name’

Mi nombre es $ name

27) ¿Cuál es el símbolo que se utiliza para los comentarios en el script de shell bash?

#

28) ¿Cuál sería la salida del comando: echo $ {new: -variable}

variable

29) ¿Qué diferencia hay entre las comillas «y»?

‘- lo usamos cuando no queremos evaluar variables a los valores
«: todas las variables se evaluarán y sus valores se asignarán en su lugar.

30) ¿Cómo redirigir las transmisiones stdout y stderr al archivo log.txt desde el script interno?

Agregue «exec> log.txt 2> & 1» como el primer comando en el script

31) ¿Cómo obtener parte de la variable de cadena solo con el comando echo?

echo $ {variable: x: y}
x – posición de inicio
y – longitud
ejemplo:
variable = «Mi nombre es Petras y soy desarrollador».
echo $ {variable: 11: 6} # mostrará Petras

32) ¿Cómo obtener home_dir con el comando echo solo si se proporciona una variable de cadena = «Usuario: 123: 321: / home / dir»?

echo $ {variable # *: *: *:}
o
echo $ {variable ## *:}

33) ¿Cómo obtener «Usuario» de la cadena de arriba?

echo $ {variable%: *: *: *}
o
echo $ {variable %%: *}

34) ¿Cómo enumerar los usuarios con UID menos de 100 (awk)?

awk -F: ‘$ 3 <100' / etc / passwd

35) Escriba el programa que cuente grupos primarios únicos para los usuarios y muestre solo el recuento y el nombre del grupo

cat / etc / passwd | cut -d: -f4 | sort | uniq -c | mientras se lee cg
hacer
{echo $ c; grep: $ g: / etc / group | cut -d: -f1;} | xargs -n 2
hecho

36) ¿Cómo cambiar el separador de campo estándar a «:» en bash shell?

IFS = «:»

37) ¿Cómo obtener una longitud variable?

$ {# variable}

38) ¿Cómo imprimir los últimos 5 caracteres de variable?

echo $ {variable: -5}

39) ¿Qué diferencia hay entre $ {variable: -10} y $ {variable: -10}?

$ {variable: -10} – da 10 si la variable no se asignó antes
$ {variable: -10} – da los últimos 10 símbolos de variable

40) ¿Cómo sustituir parte de la cadena solo con el comando echo?

echo $ {variable // patrón / reemplazo}

41) ¿Qué comando reemplaza la cadena por mayúsculas?

tr ‘[:lower:]»[:upper:]’

42) ¿Cómo contar cuentas locales?

wc -l / etc / passwd | cut -d «» -f1
o
cat / etc / passwd | wc -l

43) ¿Cómo contar palabras en una cadena sin el comando wc?

establecer $ {cadena}
echo $ #

44) ¿Cuál es la correcta «exportar $ variable» o «exportar variable»?

exportar variable

45) ¿Cómo enumerar archivos donde la segunda letra es a o b?

ls -d?[ab]*

46) ¿Cómo sumar números enteros a ab y asignar ac?

c = $ ((a + b))
o
c = `expr $ a + $ b`
o
c = `echo» $ a + $ b «| bc`

47) ¿Cómo eliminar todos los espacios de la cadena?

echo $ cadena | tr -d «»

48) Vuelva a escribir el comando para imprimir la oración y convertir la variable a plural: item = «car»; echo «Me gusta $ item»?

item = «coche»; echo «Me gustan $ {item} s»

49) ¿Escribe el comando que imprimirá números del 0 al 100 y se mostrará cada tres (0 3 6 9…)?

para i en {0..100..3}; echo $ i; hecho
o
para ((i = 0; i <= 100; i = i + 3)); echo "Bienvenido $ i veces"; hecho

50) ¿Cómo imprimir todos los argumentos proporcionados al script?

echo $ *
o
echo $ @

51) Que diferencia entre [ $a == $b ] y [ $a -eq $b ]

[ $a == $b ] – debe usarse para la comparación de cadenas
[ $a -eq $b ] – debe usarse para pruebas numéricas

52) ¿Qué diferencia hay entre = y ==

= – usamos para asignar valor a la variable
== – lo usamos para la comparación de cadenas

53) Escriba el comando para probar si $ a es mayor que 12?

[ $a -gt 12 ]

54) Escriba el comando para probar si $ b les o es igual a 12?

[ $b -le 12 ]

55) ¿Cómo comprobar si la cadena comienza con letras «abc»?

[[ $string == abc* ]]

56) Que diferencia entre [[ $string == abc* ]]y [[ $string == «abc*» ]]

[[ $string == abc* ]]- comprobará si la cadena comienza con letras abc
[[ $string == «abc*» ]]- comprobará si la cadena es exactamente igual a abc *

57) ¿Cómo enumerar los nombres de usuario que comienzan con ab o xy?

egrep «^ ab | ^ xy» / etc / passwd | cut -d: -f1

58) ¡Qué $! significa en bash?

PID de comando en segundo plano más reciente

59) ¿Qué $? medio ?

Estado de salida de primer plano más reciente.

60) ¿Cómo imprimir el PID del shell actual?

echo $$

61) ¿Cómo obtener el número de argumentos pasados ​​al script?

echo $ #

62) ¿Qué diferencia hay entre $ * y $ @?

$ * – da todos los argumentos pasados ​​al script como una sola cadena
$ @: proporciona todos los argumentos pasados ​​al script como una lista delimitada. Delimitador $ IFS

63) ¿Cómo definir una matriz en bash?

array = («Hola» «mi» «nombre» «es»)

64) ¿Cómo imprimir el primer elemento de la matriz?

echo $ {matriz[0]}

sesenta y cinco) ¿Cómo imprimir todos los elementos de la matriz?

echo $ {matriz[@]}

66) ¿Cómo imprimir todos los índices de matriz?

echo $ {! array[@]}

67) ¿Cómo eliminar el elemento de matriz con id 2?

matriz desarmada[2]

68) ¿Cómo agregar un nuevo elemento de matriz con id 333?

formación[333]= «Nuevo_elemento»

69) ¿Cómo obtiene el script de shell los valores de entrada?

a) a través de parámetros

./script param1 param2

b) vía comando de lectura

read -p «Servidor de respaldo de destino:» desthost

70) ¿Cómo podemos usar el comando «esperar» en un script?

/ usr / bin / esperan << EOD
spawn rsync -ar $ {line} $ {desthost}: $ {destpath}
esperar «*? assword: *»
enviar «$ {contraseña} r»
esperar eof
EOD

Buena suerte !! Por favor comente a continuación si tiene alguna consulta nueva o necesita respuestas a sus preguntas. Háganos saber qué tan bien ayudó esto para su entrevista 🙂

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar