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: