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.

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

Ahora cree un archivo llamado "userstats.sh" y agréguele el siguiente código.

#!/bin/bash 
echo "Hello, $LOGNAME" 
echo "Current date is `date`" 
echo "User is `who i am`" 
echo "Current directory `pwd`"

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

# chmod 755 userstats.sh 
# ./userstats.sh
Hello, avi 
Current date is Sat Jun  7 13:05:29 IST 2014 
User is avi      pts/0        2014-06-07 11:59 (:0) 
Current directory /home/avi/Desktop

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

#!/bin/bash 
# The Shebang

if [ $# -ne 2 ] 
# If two Inputs are not received from Standard Input

then 
# then execute the below statements

    echo "Usage - $0   x    y" 
    # print on standard output, how-to use the script (Usage - ./1.sh   x    y )

    echo "        Where x and y are two nos for which I will print sum" 
    # print on standard output, “Where x and y are two nos for which I will print sum ”

    exit 1 
    # Leave shell in Error Stage and before the task was successfully carried out.

fi 
# End of the if Statement.

    echo "Sum of $1 and $2 is `expr $1 + $2`"
    # If the above condition was false and user Entered two numbers as a command Line Argument,   
       it will show the sum of the entered numbers.

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.

# ./two-numbers.sh

Usage - ./two-numbers.sh   x    y 
        Where x and y are two nos for which I will print sum

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 

Sum of 4 and 5 is 9

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

  1. 1. Let the Input Number = n
  2. 2. Set rev=0, sd=0 (Reverse and single digitis set to 0)
  3. 3. n % 10, will find and give single left most digit
  4. 4. reverse number is generated as rev * 10 + sd
  5. 5. Decrease Input Number (n) by 1.
  6. 6. if n > 0, then goto step 3 else goto setp 7
  7. 7. Print rev

Ahora de nuevo, cree un archivo llamado "números.sh" y agregue el siguiente código dado.

#!/bin/bash 
if [ $# -ne 1 ] 
then 
    echo "Usage: $0   number" 
    echo "       I will find reverse of given number" 
    echo "       For eg. $0 0123, I will print 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  "Reverse number is $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á el siguiente resultado.

./numbers.sh

Usage: ./numbers.sh  number 
       I will find reverse of given number 
       For eg. ./2.sh 123, I will print 321

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

$ ./numbers.sh 10572 

Reverse number is 27501

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

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
# 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í nuevamente 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.