Preguntas y respuestas prácticas de la entrevista en Linux Shell Scripting
- 1574
- 251
- Carmen Casillas
Con la abrumadora respuesta que estamos recibiendo en los artículos de la serie de entrevistas, el primero de su tipo en cualquier sitio web de Linux How-to en forma de Me gusta, comentarios en comentarios y en la dirección de correo electrónico personal nos hace pasar de un artículo a otro 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 sobre schiptingContinuando a la serie anterior aquí vienen con otras 5 preguntas maravillosas de la entrevista de Linux y su respuesta. Tu (la tecmint.Los lectores de com y visitantes frecuentes) siempre se necesita soporte para que sea exitoso.
1. Escriba un script de shell para obtener la fecha, la hora, el nombre de usuario y el directorio de trabajo actual actuales.
Respuesta : Los comandos logname, fecha, quién soy y pwd generará 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 crea un archivo llamado 'userstats.mierda'Y agrégalo el siguiente código.
#!/bin/bash echo "hola, $ logname" echo "la fecha actual es 'date'" echo "user es 'quien 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.mierda
Salida de muestra
Hola, la fecha actual de Avi 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/hogar/avi/escritorio
2. Escriba un script de shell que agrega dos números si se proporciona como argumento de la línea de comando y si los dos números no se ingresan, genera un mensaje de error junto con una línea de uso de cómo usar.
Respuesta : Aquí está el script de shell simple junto con la descripción que agrega dos números si se proporciona como argumento de línea de comandos, si no lanza un error con una sola línea sobre cómo usar el script.Nuevamente crea un archivo llamado 'de dos números.mierda'Y agrega el siguiente contenido.
#!/bin/bash # el shebang if [$ # -ne 2] # Si no se reciben dos entradas de la entrada estándar, luego # luego ejecute las declaraciones a continuación echo "Uso de $ 0 0 x y" # Imprimir en la salida estándar, cómo usar el uso de la guión (uso - ./1.sh x y) echo "donde x e y son dos nos para los cuales imprimiré la suma" # Imprimir en la salida estándar, "donde x e y son dos nos para los cuales imprimiré la suma" Salir 1 # deje el shell en la etapa de error y antes la tarea se llevó a cabo con éxito. fi # final de la declaración if. echo "suma de $ 1 y $ 2 es 'Expr $ 1 + $ 2'" # Si la condición anterior era falsa y el usuario ingresó dos números como argumento de línea de comando, mostrará la suma de los números ingresados.
Establezca el permiso del ejecutor en el archivo y ejecute el script como se muestra a continuación.
# CHMOD 755 Dos números.mierda
Condición 1: Ejecutando el script sin ingresar dos números como argumento de línea de comando, obtendrá la siguiente salida.
Salida de muestra
# ./Dos números.Uso de SH - ./Dos números.sh x y donde x e y son dos nos para los cuales imprimiré suma
Condición 2: Cuando los números se ingresan como argumento de línea de comando, obtendrá el resultado como se muestra.
ps ./Dos números.sh 4 5 sum de 4 y 5 es 9
Por lo tanto, el script de shell anterior cumple la condición como se sugiere en la pregunta.
3. Debe imprimir un número dado, digamos 10572, en orden inverso utilizando un script de shell de modo que la entrada se proporcione utilizando solo el argumento de línea de comando. Si los datos de entrada no se proporcionan como argumento de línea de comandos, debe lanzar y errores y sugerir cómo usar el script. Escriba el script, pero antes de eso dígame el algoritmo que debe implementarse aquí.
Algoritmo
- 1. Deje que el número de entrada = n
- 2. Establecer Rev = 0, SD = 0 (Digitis inversa y única establecida en 0)
- 3. n % 10, encontrará y dará una sola izquierda a la mayoría de los dígitos
- 4. El número inverso se genera como Rev * 10 + SD
- 5. Disminuir el número de entrada (n) en 1.
- 6. Si n> 0, entonces GOTO PASO 3 más GOTO SETP 7
- 7. Impresión Rev
Ahora, de nuevo, cree un archivo llamado 'números.mierda'Y agregue el siguiente código dado.
#!/bin/bash if [$# -ne 1] entonces echo "uso: $ 0 número" echo "Encontraré el reverso del número" eco "para EG. $ 0 0123, imprimiré 3210 "salida 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 "Dado echo" El número de reverso es $ Rev "
Otorgar un permiso de ejecución en el archivo y ejecute el script como se muestra a continuación.
# Números Chmod 755.H
Condición 1: Cuando la entrada no se proporciona como argumento de línea de comando, obtendrá la siguiente salida.
Salida de muestra
./números.Uso de SH: ./números.SH número que encontraré reverso del número dado para EG ... /2.sh 123, imprimiré 321
Condición 2: Cuando la entrada se proporcionó como argumento de línea de comandos.
ps ./números.SH 10572 El número de inversión es 27501
El script anterior funcionó perfectamente y la salida era justo lo que necesitábamos.
4. Se supone que debe calcular un cálculo de número real directamente desde el terminal y no cualquier script de shell. ¿Qué harás? (Digamos que los números reales son 7.56 y 2.453)?
Respuesta : Necesitamos usar el comando BC de manera especial como se describe a continuación. La salida de Echo 7.56 + 2.453 debe ser canalizado a BC.Por ejemplo, ejecute el siguiente comando para calcular los números en tiempo real usando antes de Cristo comando como se muestra.
$ Echo 7.56 + 2.453 | BC 10.013
5. Se supone que debe encontrar el valor de PI hasta 100 lugares de decimal, ¿cuál es la forma más fácil de hacer el resultado?.
Respuesta : La forma más fácil de encontrar el valor de PI, corrija hasta 100 lugares de decimales, solo necesitamos emitir el siguiente comando.# pi 100 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089998628034825342117067
Obviamente! Debemos tener paquete 'Pi'Instalado. Solo haz un apto o beque Para obtener un paquete requerido para instalar 'Pi'En la distribución que está utilizando.
Eso es todo por ahora. Estaré aquí de nuevo con otro artículo interesante muy pronto. Hasta entonces, estad atentos y conectado a Tecmint.comunicarse. No olvide proporcionarnos sus valiosos comentarios en la sección de comentarios a continuación.
- « Instalación de LEMP (Linux, Nginx, MySQL/MariadB, PHP/PHP-FPM y PhPMyadmin) en Gentoo Linux
- Crear un .Repositorio de paquetes de DEB ”en SourceForge.NET usando la herramienta Reprepro en Ubuntu »