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 🙂