Operadores básicos en secuencias de comandos de Shell

Hay 5 operadores básicos en bash/shell scripting:

  • Operadores aritméticos
  • Operadores relacionales
  • Operadores booleanos
  • Operadores bit a bit
  • Operadores de prueba de archivos

1. Operadores aritméticos : estos operadores se utilizan para realizar operaciones aritméticas/matemáticas normales. Hay 7 operadores aritméticos:

  • Suma (+) : Operación binaria utilizada para sumar dos operandos.
  • Resta (-) : Operación binaria utilizada para restar dos operandos.
  • Multiplicación (*) : Operación binaria utilizada para multiplicar dos operandos.
  • División (/) : Operación binaria utilizada para dividir dos operandos.
  • Módulo (%) : operación binaria utilizada para encontrar el resto de dos operandos.
  • Operador de incremento (++) : operador unario utilizado para aumentar el valor del operando en uno.
  • Operador de decremento (- -) : Operador unario utilizado para disminuir el valor de un operando en uno

C

#!/bin/bash
  
#reading data from the user
read - p 'Enter a : ' a
           read
    - p 'Enter b : ' b
  
          add
    = $((a + b))
        echo Addition of a and b are $add
  
            sub
    = $((a - b))
        echo Subtraction of a and b are $sub
  
            mul
    = $((a * b))
        echo Multiplication of a and b are $mul
  
            div
    = $((a / b))
        echo division of a and b are $div
  
            mod
    = $((a % b))
          echo Modulus of a
      and b are $mod
  
      ((++a))
          echo Increment
          operator when applied on "a" results into a = $a
  
      ((--b))
          echo Decrement
          operator when applied on "b" results into b = $b

Producción:

2. Operadores relacionales : Los operadores relacionales son aquellos operadores que definen la relación entre dos operandos. Dan verdadero o falso dependiendo de la relación. Son de 6 tipos:

  • Operador ‘==’ : El operador doble igual a compara los dos operandos. Devuelve verdadero si son iguales, de lo contrario devuelve falso.
  • ‘!=’ Operador : no es igual al operador devuelve verdadero si los dos operandos no son iguales; de lo contrario, devuelve falso.
  • Operador ‘<‘ : El operador menor que devuelve verdadero si el primer operando es menor que el segundo, de lo contrario, devuelve falso.
  • Operador ‘<=’ : el operador menor o igual que devuelve verdadero si el primer operando es menor o igual que el segundo operando; de lo contrario, devuelve falso
  • Operador ‘>’ : el operador mayor que devuelve verdadero si el primer operando es mayor que el segundo operando; de lo contrario, devuelve falso.
  • Operador ‘>=’ : el operador mayor o igual que devuelve verdadero si el primer operando es mayor o igual que el segundo operando; de lo contrario, devuelve falso

C

#!/bin/bash
   
#reading data from the user
read -p 'Enter a : ' a
read -p 'Enter b : ' b
   
if(( $a==$b ))
then
    echo a is equal to b.
else
    echo a is not equal to b.
fi
   
if(( $a!=$b ))
then
    echo a is not equal to b.
else
    echo a is equal to b.
fi
   
if(( $a<$b ))
then
    echo a is less than b.
else
    echo a is not less than b.
fi
   
if(( $a<=$b ))
then
    echo a is less than or equal to b.
else
    echo a is not less than or equal to b.
fi
   
if(( $a>$b ))
then
    echo a is greater than b.
else
    echo a is not greater than b.
fi
   
if(( $a>=$b ))
then
    echo a is greater than or equal to b.
else
    echo a is not greater than or equal to b.
fi

Producción:

3. Operadores Lógicos : También se les conoce como operadores booleanos. Estos se utilizan para realizar operaciones lógicas. Son de 3 tipos: 

  • AND lógico (&&) : este es un operador binario, que devuelve verdadero si ambos operandos son verdaderos; de lo contrario, devuelve falso.
  • OR lógico (||) : este es un operador binario, que devuelve verdadero si cualquiera de los operandos es verdadero o ambos operandos son verdaderos y devuelven falso si ninguno de ellos es falso.
  • No es igual a (!) : Este es un operador unario que devuelve verdadero si el operando es falso y devuelve falso si el operando es verdadero.

C

#!/bin/bash
  
#reading data from the user
read -p 'Enter a : ' a
read -p 'Enter b : ' b
  
if(($a == "true" & $b == "true" ))
then
    echo Both are true.
else
    echo Both are not true.
fi
  
if(($a == "true" || $b == "true" ))
then
    echo Atleast one of them is true.
else
    echo None of them is true.
fi
  
if(( ! $a == "true"  ))
then
    echo "a" was initially false.
else
     echo "a" was initially true.
 fi

Producción:

4. Operadores bit a bit : Un operador bit a bit es un operador utilizado para realizar operaciones bit a bit en patrones de bits. Son de 6 tipos:

  • Bitwise And (&) : el operador Bitwise & realiza la operación AND binaria bit a bit en los operandos.
  • Bit a bit O (|) : Bit a bit | El operador realiza la operación OR binaria bit a bit en los operandos.
  • Bitwise XOR (^) : el operador Bitwise ^ realiza la operación XOR binaria bit a bit en los operandos.
  • Complemento bit a bit (~) : el operador ~ bit a bit realiza la operación NOT binaria bit a bit en el operando.
  • Desplazamiento a la izquierda (<<) : este operador desplaza los bits del operando izquierdo a la izquierda el número de veces especificado por el operando derecho.
  • Desplazamiento a la derecha (>>) : este operador desplaza los bits del operando izquierdo a la derecha el número de veces especificado por el operando derecho.

C

#!/bin/bash
  
#reading data from the user
read -p 'Enter a : ' a
read -p 'Enter b : ' b
  
bitwiseAND=$(( a&b ))
echo Bitwise AND of a and b is $bitwiseAND
  
bitwiseOR=$(( a|b ))
echo Bitwise OR of a and b is $bitwiseOR
  
bitwiseXOR=$(( a^b ))
echo Bitwise XOR of a and b is $bitwiseXOR
  
bitiwiseComplement=$(( ~a ))
echo Bitwise Compliment of a is $bitiwiseComplement
  
leftshift=$(( a<<1 ))
echo Left Shift of a is $leftshift
  
rightshift=$(( b>>1 ))
echo Right Shift of b is $rightshift

Producción:

5. Operador de prueba de archivo : estos operadores se utilizan para probar una propiedad particular de un archivo.

  • -b operador : este operador verifica si un archivo es un archivo especial de bloque o no. Devuelve verdadero si el archivo es un archivo especial de bloque; de ​​lo contrario, es falso.
  • Operador -c : este operador comprueba si un archivo es un archivo especial de caracteres o no. Devuelve verdadero si es un archivo especial de caracteres; de lo contrario, es falso.
  • -d operador : este operador comprueba si el directorio dado existe o no. Si existe, los operadores devuelven verdadero, de lo contrario, falso.
  • -e operador : este operador verifica si el archivo dado existe o no. Si sale, este operador devuelve verdadero, de lo contrario, falso.
  • Operador -r : este operador verifica si el archivo dado tiene acceso de lectura o no. Si tiene acceso de lectura, devuelve verdadero, de lo contrario, falso.
  • -w operador : este operador verifica si el archivo dado tiene acceso de escritura o no. Si tiene escritura, devuelve verdadero, de lo contrario, falso.
  • Operador -x : este operador verifica si el archivo dado tiene acceso de ejecución o no. Si tiene acceso de ejecución, devuelve verdadero, de lo contrario, falso.
  • -s operador : este operador verifica el tamaño del archivo dado. Si el tamaño del archivo dado es mayor que 0, devuelve verdadero; de lo contrario, es falso.

C

#!/bin/bash
  
#reading data from the user
read -p 'Enter file name : ' FileName
  
if [ -e $FileName ]
then
    echo File Exist
else
    echo File doesnot exist
fi
  
if [ -s $FileName ]
then
    echo The given file is not empty.
else
    echo The given file is empty.
fi
  
if [ -r $FileName ]
then
    echo The given file has read access.
else
    echo The given file does not has read access.
fi
  
if [ -w $FileName ]
then
    echo The given file has write access.
else
    echo The given file does not has write access.
fi
  
if [ -x $FileName ]
then
    echo The given file has execute access.
else
    echo The given file does not has execute access.
fi

Producción:

Publicación traducida automáticamente

Artículo escrito por DrRoot_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *