Cálculo de expresiones matemáticas en lenguaje de secuencias de comandos Shell-Parte V

Cálculo de expresiones matemáticas en lenguaje de secuencias de comandos Shell-Parte V

Ustedes se sentirán cómodos, comprenderán los scripts de Shell. y los escribirán con fluidez, según sus necesidades. Este es el último post de esta serie de tutoriales, donde realizaremos Operaciones Matemáticas. un poco complejas usando lenguaje de scripting. Los últimos cuatro artículos de la serie Shell Scripting. que son cronológicamente.

 Learn Shell Scripting  Learn Shell Secuencias de comandos Aprenda la parte de secuencias de comandos de Shell-V

  1. Comprender los consejos básicos del lenguaje de secuencias de comandos de Shell de Linux-Parte I
  2. 5 Scripts de Shell para que los principiantes de Linux aprendan la programación de Shell-Parte II
  3. Navegando por el mundo de Linux Scripting BASH-Parte III
  4. Aspecto matemático de la programación del shell de Linux-Parte IV

Comencemos con la Serie Fibonacci

Un patrón de números donde cada número es la suma de dos nu anteriores mbers. La serie es 0. 1. 1. 2. 3. 5. 8. …… Por definición, los dos primeros números de la secuencia Fibonccai. son 0 y 1.

Script 1: Fibonacci.sh #!/bin/bash echo “¿Cuántos números quieres de la serie Fibonacci?” leer total x = 0 y = 1 i = 2 echo “Serie Fibonacci hasta $ términos totales ::” echo “$ x” echo “$ y” mientras que [$ i-lt $ total] do i = `expr $ i + 1 `z =` expr $ x + $ y `echo” $ z “x = $ yy = $ z hecho Salida de muestra [[email protected] ~] # chmod 755 Fibonacci.sh [[email protected] ~] # ./Fibonacci.sh ¿Cuántos números quieres de la serie Fibonacci? 10 series de Fibonacci hasta 10 términos :: 0 1 1 2 3 5 8 13 21 34

Descargar Fibonacci.sh

Estás familiarizado con el hecho de que comprendemos solo en formato binario, es decir, “ 0. y “ 1. , y la mayoría de nosotros hemos disfrutado aprendiendo la conversión de decimal. a Binario. ¿Qué tal escribir un script simple para esta compleja operación?

Script 2: Decimal2Binary.sh #!/Bin/bash for ((i = 32; i> = 0; i–)); do r = $ ((2 ** $ i)) Probablity + = ($ r) done [[$ #-eq 0]] & echo-en “Decimal \ t \ tBinary \ n” para input_int en [email protected]; hacer s = 0 prueba $ # input_int-gt 11 & printf “%-10s \ t” “$ input_int” para n en $ Probablity [@]; hacer si [[$ input_int-lt $ n]]; luego [[$ s = 1]] && printf “% d” 0 si no printf “% d” 1; s = 1 input_int = $ (($ input_int-$ n)) fi done echo-e done Salida de muestra [[email protected] ~] # chmod 755 Decimal2Binary.sh [[email protected] ~] # ./Decimal2Binary. sh 1121 Decimal Binary 1121 10001100001

Nota. El script anterior acepta la entrada en tiempo de ejecución, lo que obviamente es una ayuda.

Descargar Decimal2Binary.sh

Bueno, el comando incorporado ‘ bc. puede convertir un decimal. en binario. en un script de una sola línea. Ejecute, en su terminal.

[[email protected] ~] # echo “obase = 2; NUM” | bc freestar.config.enabled_slots.push

Reemplace ‘ NUM. con el número, que desea convertir de Decimal. a Binario. Por ejemplo,

[[email protected] ~] # echo “obase = 2; 121” | bc 1111001

A continuación, escribiremos una secuencia de comandos que funcione justo en el lado opuesto de la secuencia de comandos anterior, Conversión de valores binarios. a Decimales.

Script 3: Binary2Decimal.sh #!/bin/bash echo “Ingresa un número:” lee Binary si [$ Binary-eq 0] luego echo “Ingresa un número válido” else while [$ Binary-ne 0] do Bnumber = $ Binary Decimal = 0 power = 1 while [$ Binary-ne 0] do rem = $ (expr $ Binary% 10) Decimal = $ ((Decimal + (rem * power))) power = $ ((power * 2)) Binary = $ (expr $ Binary/10) done echo “$ Decimal” done fi Salida de muestra [[email protected] ~] # chmod 755 Binary2Decimal.sh [[email protected] ~] # ./Binary2Decimal.sh Enter un número: 11 3

Nota. La función anterior se puede realizar en la terminal usando el comando ‘ bc. como.

[[email protected] ~] # echo “ibase = 2; BINARY” | bc

Reemplace “ BINARIO. con el número binario, a saber,

[[email protected] ~] # echo “ibase = 2; 11010101” | bc 213

Descargar Binary2Decimal.sh

De manera similar, puede escribir la conversión de octal. hexadecimal. a decimal. y viceversa. Lograr el resultado anterior en la terminal usando el comando “ bc. es.

De decimal a octal [[email protected] ~] # echo “obase = 8; Decimal” | bc De decimal a hexadecimal [[email protected] ~] # echo “obase = 16; Decimal” | bc Octal a decimal [[email protected] ~] # echo “ibase = 8; Octal” | bc Hexadecimal a decimal [[email protected] ~] # echo “ibase = 16; Hexadecimal” | bc Binary to Octal [[email protected] ~] # echo “ibase = 2; obase = 8 Binary” | bc

Algunas de las pruebas numéricas comunes. utilizadas en el lenguaje de scripts de shell con descripción son.

Prueba: INTEGER1-eq INTEGER2 Significado: INTEGER1 es igual a INTEGER2 Prueba: INTEGER1-ge INTEGER2 Significado : INTEGER1 es mayor o igual que INTEGER2 Prueba: INTEGER1-gt INTEGER2 Significado: INTEGER1 es mayor que INTEGER2 Prueba: INTEGER1-le INTEGER2 Significado: INTEGER1 es menor o igual que INTEGER2 Prueba: INTEGER1-lt INTEGER2 Significado: INTEGER1 es menor que Prueba INTEGER2: INTEGER1-ne INTEGER2 Significado: INTEGER1 no es igual a INTEGER2

Eso es todo para este artículo y la serie de artículos. Este es el último artículo de Shell Script Series. y no significa que ningún artículo sobre lenguaje de secuencias de comandos estará aquí nuevamente, solo significa que el tutorial de secuencias de comandos de shell ha terminado y siempre que encontremos un tema interesante que vale la pena conocer. o una consulta de ustedes, estaremos encantados de continuar la serie desde aquí.

Manténgase saludable, sintonizado y conectado a Tecmint. Muy pronto vendré con otro tema interesante, a ustedes les encantará leer. Comparta sus valiosos pensamientos en la Sección de comentarios.