Preguntas y respuestas prácticas de la entrevista sobre scripts de shell de Linux

Preguntas y respuestas prácticas de la entrevista sobre scripts de shell de Linux

Con la abrumadora respuesta que estamos obteniendo en los artículos de la serie de entrevistas, los primeros de su tipo en cualquier sitio web de procedimientos de Linux en forma de Me gusta, los comentarios en los comentarios y la dirección de correo electrónico personal nos hacen pasar de un artículo al siguiente artículo.

Aquí está el enlace a los artículos de la Serie de entrevistas ya publicados en Tecmint.com, donde hemos cubierto muchos temas, a saber, FTP, MySQL, Apache, Scripting, Comandos de Linux, etc. .

 Pregunta práctica de la entrevista en Shell Scripting  Pregunta práctica de la entrevista sobre Shell Scripting Pregunta práctica de la entrevista sobre secuencias de comandos de shell

Continuando con la serie anterior, aquí llegamos con otras 5 maravillosas preguntas de la entrevista de Linux y su respuesta. Su apoyo (los lectores de Tecmint.com y los visitantes frecuentes) siempre es necesario para que tenga éxito.

1. Escriba un script de shell para obtener la fecha, hora, nombre de usuario y directorio de trabajo actuales. Respuesta:. Los comandos logname, date, who I am y pwd mostrarán el nombre de usuario, la fecha y hora actuales y el directorio de trabajo actual. Simplemente implementando estos comandos en el script y haciéndolo un poco interactivo.

Ahora cree un archivo llamado ‘ userstats.sh. y agregue el siguiente código.

#!/bin/bash echo “Hola, $ LOGNAME” echo “La fecha actual es `date`” echo “El usuario es` quién soy` “echo” Directorio actual `pwd`”

Coloque el permiso de ejecución y ejecute el script como se muestra a continuación.

# chmod 755 userstats.sh # ./userstats .sh Salida de muestra Hola, avi La fecha actual es el sábado 7 de junio 13:05:29 IST 2014 El usuario es avi pts/0 2014-06-07 11:59 (: 0) Directorio actual/home/avi/Desktop 2. Escriba un Shell Script que agrega dos números si se proporciona como el argumento de línea de comando y si no se ingresan los dos números, genera un mensaje de error junto con una línea de descripción de cómo usarlo. Respuesta:. Aquí está la secuencia de comandos de Shell simple junto con una descripción que agrega dos números si se proporciona como argumento de la línea de comandos, si no, arroja un error con una sola línea sobre cómo usar la secuencia de comandos. freestar.config.enabled_slots.push

Vuelva a crear un archivo llamado ‘ two-numbers.sh. y agregue el siguiente contenido

#!/bin/bash # The Shebang if [$ #-ne 2] # Si no se reciben dos entradas de la entrada estándar, # entonces ejecute las siguientes declaraciones echo “Usage-$ 0 xy” # print en la salida estándar, cómo usar el script (Uso-./1.sh xy) echo “Donde xey son dos números para los cuales imprimiré la suma” # imprimir en la salida estándar, “Donde xey son dos números para lo cual imprimiré la suma ”exit 1 # Deje el shell en la etapa de error y antes de que la tarea se haya realizado con éxito. fi # Fin de la instrucción if. echo “La suma de $ 1 y $ 2 es` expr $ 1 + $ 2` “# Si la condición anterior fue falsa y el usuario ingresó dos números como un argumento de línea de comando, mostrará la suma de los números ingresados.

Establezca el permiso de ejecución en el archivo y ejecute el script como se muestra a continuación.

# chmod 755 two-numbers.sh

Condición 1. Al ejecutar el script sin ingresar dos números como argumento de línea de comando, obtendrá el siguiente resultado.

Ejemplo de resultado # ./two-numbers.sh Uso-./two-numbers.sh xy Donde xey son dos nos para lo cual imprimiré la suma

Condición 2. Cuando se ingresan números como argumento de línea de comando, obtendrá el resultado como se muestra.

$ ./two-numbers.sh 4 5 La suma de 4 y 5 es 9

Por lo tanto, el script de shell anterior cumple la condición sugerida en la pregunta.

3. Necesita imprimir un Número dado, digamos 10572, en orden inverso usando un script de Shell de modo que la entrada se proporcione usando solo el Argumento de línea de comando. Si los datos de entrada no se proporcionan como argumento de la línea de comandos, debería arrojar un error y debería sugerir cómo usar el script. Escriba el guión, pero antes de eso, dígame el algoritmo que debe implementarse aquí. Algoritmo

  1. 1. Sea el número de entrada = n
  2. 2. Establezca rev = 0, sd = 0 (digitalización inversa y simple en 0)
  3. 3. n% 10, encontrará y dará el dígito más a la izquierda
  4. 4. el número inverso se genera como rev * 10 + sd
  5. 5. Disminuya el número de entrada (n) en 1.
  6. 6. si n> 0, vaya al paso 3, de lo contrario, vaya a setp 7
  7. 7. Print rev

Ahora de nuevo, cree un archivo llamado ‘ numbers.sh. y agregue el siguiente código dado.

#!/Bin/bash if [$ #-ne 1] then echo “Uso: $ 0 número” echo “Encontraré el reverso del número dado” echo “Por ejemplo, $ 0 0123, imprimiré 3210″ exit 1 fi n = $ 1 rev = 0 sd = 0 while [$ n-gt 0] do sd = `expr $ n% 10` rev =` expr $ rev \ * 10 + $ sd` n = `expr $ n/10` done echo” El número inverso es $ rev ”

Otorgue un permiso de ejecución en el archivo y ejecute el script como se muestra a continuación.

# chmod 755 numbers.h

Condición 1. cuando La entrada no se proporciona como argumento de línea de comando, obtendrá la siguiente salida.

Salida de muestra ./numbers.sh Uso: ./numbers.sh número Encontraré el reverso del número dado Por ejemplo. ./2.sh 123, imprimiré 321

Condición 2. cuando la entrada se proporcionó como argumento de línea de comando.

$ ./numbers. sh 10572 El número inverso es 27501

El script anterior funcionó perfectamente y el resultado fue justo lo que necesitábamos.

4. Se supone que debes calcular un cálculo de número real directamente desde la terminal y no desde cualquier script de shell. ¿Qué vas a hacer (digamos que los números reales son 7.56 y 2.453)? Respuesta:. Necesitamos usar el comando bc de una manera especial como se describe a continuación. La salida de echo 7.56 + 2.453 debe canalizarse a bc.

Por ejemplo, ejecute el siguiente comando para calcular números en tiempo real usando el comando bc. como se muestra.

$ echo 7.56 + 2.453 | bc 10.013 5. Se supone que debes encontrar el valor de pi hasta 100 lugares de decimal, cuál es la forma más fácil de obtener el resultado. Respuesta:. la forma más fácil de encontrar el valor de pi, corregir hasta 100 lugares de decimal, solo necesitamos emitir el siguiente comando. # pi 100 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

¡Obviamente! Debemos tener el paquete “ pi. instalado. Simplemente haz un apt. o yum. para obtener un paquete requerido para instalar ‘pi. en la distribución que estás usando.

Eso es todo por ahora. Estaré aquí de nuevo con otro artículo interesante muy pronto. Hasta entonces, estad atentos y conectados a Tecmint.com. No olvide brindarnos sus valiosos comentarios en la sección de comentarios a continuación.