Curso de Programaci贸n en Bash Shell

Curso de Programaci贸n en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Tipos de Operadores

7/43
Recursos

Aportes 36

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Agregue algunos saltos de linea para dar un poco de formato.

#!/usr/bin/env bash
# lec_3.sh file
# ! /bin/bash  // it is used in the course
# Author: name - @name

#operators
A=10
B=4
echo "BASIC ARITHMETIC OPERATORS"
echo -e "inputs: A=$A , B=$B\n"

echo "Addition operator: A+B=" $((A+B))
echo "Subtraction operator: A-B=" $((A-B))
echo "Multiplication operator: A*B=" $((A*B))
echo "Division operator: A/B=" $((A/B))
echo "Module operator: A%B=" $((A%B))
echo  -e "\n------------------------------------------"

# use -e to support especial characters
x=10
y=4
echo -e "\n"
echo -e "BASIC RELATIONAL OPERATORS"
echo -e "inputs: x=$x , y=$y\n"

echo "x > y , x is greater than y :" $((x > y))
echo "x 鈮 y , x is greater (than) or equal to y :" $(( x>= y))
echo "x < y , x is smaller than y :" $((x < y))
echo "x 鈮 y , x is smaller (than) or equal to y :" $((x <= y))
echo "x > 0 , x is positive :" $((x > 0))
echo "x 鈮 0 , x is positive or zero; x is non-negative :" $((x >= y))
echo "x < 0 x is negative :" $((x < 0))
echo "x 鈮 0 x is negative or zero :" $((x <= y))

echo  -e "\n------------------------------------------"

echo -e "\nBASIC ASSIGNATION OPERATORS"
echo -e "inputs: x=$x , y=$y\n"
echo "x += y :" $((x +=y ))
echo "x -= y :" $((x -=y ))
echo "x *= y :" $((x *=y ))
echo "x /= y :" $((x /=y ))
echo "x %= y :" $((x %=y ))

este tipo de clases en donde el procesor te va explicando y adem谩s vas practicando son geniales y hacen que aprendas mejor y no pierdas en el interes.

Los shortcuts que da el profe para los que usamos vim son oro puro

Si quieren hacerlo mas interactivo pueden usar el comando read para leer los inputs desde la consola, como en el siguiente ejemplo

#!/bin/sh
echo "Please give a random number"
read num1
echo "Please give me another one"
read num2
echo "The sum is $((num1+num2))"

Recomiendo mejorar 鈥渆l tema de鈥 la muletilla.

Para los que usan alguna distribuci贸n de linux les recomiendo usar la terminal de Tilix 馃槂
Permite tener varias terminales al mismo tiempo y est谩 mas elegante 馃槈

Qu茅 lata con 鈥渆l tema鈥 de la muletilla 馃ゴ

Muy bien explicado el tema de los operadores. Despejando las dudas hasta ahora con el curso. Mi ejercicio queda asi:

como hago para cambiar ese color de azul como comentarios en el # alguien que me pueda ayudar porfa?

En el ejercicio del profesor, en la secci贸n 鈥Operadores Asignaci贸n鈥, 驴no deber铆an ser los resultados 6 y 2 en las l铆neas de restar y dividir respectivamente? Muestra el 10 en ambos casos.

Recursos para los trucos de vim

https://vim.rtorr.com/

En vez de:

numA=10
numB=4

Intentar:

read numA numB <<<$(echo 10 4)

Codigo

# !/bin/bash
# Programa para revisar los tipos de operadores
# Author: Nelson Sanchez @anthony_snk

numA=10
numB=4

echo -e "\nOperadores Aritmeticos"
echo -e "Numeros: A= $numA Y B= $numB"
echo -e "Sumar A+B = "$((numA + numB))
echo -e "Restar A-B = "$((numA - numB))
echo -e "Multiplicar A*B = "$((numA * numB))
echo -e "Dividir A/B = "$((numA / numB))
echo -e "Residuo A%B = "$((numA % numB))

echo -e "\nOperadores Relacionales"
echo -e "Numeros: A= $numA Y B= $numB"
echo -e "A>B = "$((numA > numB))
echo -e "A<B = "$((numA < numB))
echo -e "A>=B = "$((numA >= numB))
echo -e "A<=B = "$((numA <= numB))
echo -e "A==B = "$((numA == numB))
echo -e "A!=B = "$((numA != numB))


echo -e "\nOperadores Asignacion"
echo -e "Numeros: A= $numA Y B= $numB"
echo -e "Sumar A+=B = "$((numA += numB))
echo -e "Restar A-=B = "$((numA -= numB))
echo -e "Multiplicar A*=B = "$((numA*= numB))
echo -e "Dividir A/=B = "$((numA/= numB))
echo -e "Residuo A%=B = "$((numA %= numB))
#! /bin/bash

num_a=10
num_b=4

echo "Basic arithmetic operators"
echo "Numbers: a=$num_a and b=$num_b"
echo "Sum a + b = " $((num_a + num_b))
echo "Subtract a - b = " $((num_a - num_b))
echo "Multiply a * b = " $((num_a * num_b))
echo "Divide a / b = " $((num_a / num_b))
echo "Residue a % b = " $((num_a % num_b))

echo -e "\nBasic relational operators"
echo "Numbers: a=$num_a and b=$num_b"
echo "a > b = " $((num_a > num_b))
echo "a < b = " $((num_a < num_b))
echo "a >= b = " $((num_a >= num_b))
echo "a <= b = " $((num_a <= num_b))
echo "a == b = " $((num_a == num_b))
echo "a != b = " $((num_a != num_b))

echo -e "\nBasic asignation operators"
echo "Numbers: a=$num_a and b=$num_b"
echo "Sum a += b = " $((num_a += num_b))
echo "Subtract a -= b = " $((num_a -= num_b))
echo "Multiply a *= b = " $((num_a *= num_b))
echo "Divide a /= b = " $((num_a /= num_b))
echo "Residue a %= b = " $((num_a %= num_b))

Falto explicar un operador aritmetico al profesor, el de potenciaci贸n. Me hizo falta no verlo en los operadores y probando con el script descubr铆 que el operador de potenciaci贸n es:

8 ** 2 = 64

No fue tan dificil ya que es el mismo que el de Python

Asi quedaria el codigo con algo de espacios extras para que se vea mejor en la ejecucion.

Tambien est谩 el codigo para que lo puedas copiar y pegar sin problemas
#!/bin/bash
#Operadores

numA=10
numB=4

echo "Operadores Aritmeticos"
echo -e "\nNumeros: A=$numA y B=$numB"
echo -e "\nSumar A + B: $((numA + numB))"
echo "Restar A - B: $((numA - numB))"
echo "Multiplicar A * B: $((numA * numB))"
echo "Dividir A / B: $((numA / numB))"
echo 鈥淩esiduo A % B: $((numA % numB))鈥

echo -e "\nOperadores Relacionales"
echo -e "\nNumeros: A=$numA y B=$numB"
echo -e "\nA > B: $((numA > numB))"
echo "A < B: $((numA < numB))"
echo "A >= B: $((numA >= numB))"
echo "A <= B: $((numA <= numB))"
echo "A == B: $((numA == numB))"
echo 鈥淎 != B: $((numA != numB))鈥

echo -e "\nOperadores de Asignacion"
echo -e "\nNumeros: A=$numA y B=$numB"
echo -e "\nSumar A += B: $((numA += numB))"
echo "Restar A -= B: $((numA -= numB))"
echo "Multiplicar A *= B: $((numA *= numB))"
echo "Dividir A /= B: $((numA /= numB))"
echo 鈥淩esiduo A %= B: $((numA %= numB))鈥


Aqui el resultado de la ejecucion del Script

Cuando no tienes GUI lo mejor en terminal para mi es usar VIM. Ademas si configuras multiples pantallas te queda genial

Muy buena clase sobre los tipos de operadores, lo mas esencial para los que apenas van iniciando en este mundo de la CLI.

Tambi茅n pueden escribir la expresi贸nn de la suma dentro de los 鈥溾

echo 鈥淪umar A + B: $((numA + numB))鈥

Muy buena la clase.

Si desean pueden hacer el curso desde Visual Code sin lio, igual todo se ejecuta en la consola, e incluso se pueden conectar al servidor por SSH con un pluging

Alguien me explica porque tengo esos resultados con los operadores de asignacion

Perfecto! A煤n compila mi shell. 馃槃

Hola, quiero compartir mis apuntes.

https://www.instagram.com/p/CFI9IMqnEIV/?igshid=tmbqou5fs5vp

Saludos

genial

Entendido

clase entendida!

a

a

Se sigue el standard de la mayor铆a de lenguajes en cuanto a los operadores aritm茅ticos

# ! /bin/bash
# Programa para revisar los tipos de operadores
# Autor: Marco Toscano - @martosfre

numA=10
numB=4

echo "Operadores Aritm茅ticos"
echo "N煤meros: A=$numA y B=$numB"
echo "Sumar A + B =" $((numA + numB))
echo "Restar A - B =" $((numA - numB))
echo "Multiplicar A * B =" $((numA * numB))
echo "Dividir A / B =" $((numA / numB))
echo "Residuo A % B =" $((numA % numB))


echo -e "\nOperadores Relaciones"
echo "N煤meros: A=$numA y B=$numB"
echo "A > B =" $((numA > numB))
echo "A < B =" $((numA < numB))
echo "A >= B =" $((numA >= numB))
echo "A <= B =" $((numA <= numB))
echo "A == B =" $((numA == numB))
echo "A != B =" $((numA != numB))


echo -e "\nOperadores Asignaci贸n"
echo "N煤meros: A=$numA y B=$numB"
echo "Sumar A += B" $((numA += numB))
echo "Restar A -= B" $((numA -= numB))
echo "Multiplicaci贸n A *= B" $((numA *= numB))
echo "Dividir A /= B" $((numA /= numB))
echo "Residuo A %= B" $((numA %= numB))```