#!/bin/bash

#esto es un comentario

#limpiar la pantalla:
clear 

#echo, echo -n
echo bienvenido al script
echo "se pueden usar comillas dobles"
echo 'y también simples'
echo -n este otro mensaje
echo -n saldrá en una misma línea
echo ' respetando el espacio'


# imprimir variables, variables de sistema
echo $HOME
echo $USER
echo $PWD

#definir nuevas variables
#cuidado! si dejas espacio alrededor del = no funciona, el color lo indica
var=10
echo $var
tex=hola
echo $tex

#aprovechar resaltado de sintaxis en kwrite o similares
# variable = 10  #hay un error por el espacio

#imprimir variables inexistentes (sale en blanco)
echo $noexiste

#expresiones
x=`expr 1 + 3`
y=`expr 2 - 1`
echo `expr 10 / 2`
# operador resto:
echo `expr 20 % 3`
echo `expr 10 \* 3` #necesario escape para el asterisco

# acento invertido para ejecutar
# cuidado! si no pones espacio entre operandos y operador no funciona
echo expr 6 + 3
echo hoy es date
echo 'expr 6 + 3'
echo 'hoy es date'
echo "expr 6 + 3"
echo "hoy es date"
echo `expr 6 + 3`
echo hoy es `date` 

# $? es 0 si el último comando no dio errores, y distinto si los dio
rm noexiste.txt
echo $?
ls
echo $?

#leer variables
echo Introduce tu nombre:
read nombre
echo $nombre
echo tu nombre es $nombre

#recibiendo parámetros del usuario en la llamada
echo $# es el número total de parámetros
echo $0 es el nombre del propio script
echo $1 es el primer parámetrois first argument
echo $2 es el segundo
echo $* me muestra todos ellos

#resumen variables especiales: $? $# $*

#lectura multiple de variables
echo introduce tres valores
read varuno vardos vartres
echo 1: $varuno
echo 2: $vardos
echo 3: $vartres
# si metes mas de tres valores, los ultimos se añaden a la ultima variable. Esto pasa porque hemos fijado un límite de
# tres variables, pero esto NO pasa con parámetros, ya que no hay límite de parámetros

# Cosas importantes para recordar:
# 1: Cuando escribes en una variable, va sin $, y cuando la lees, va con $
total=0
total=$total+10
# 2: Los parámetros nos llegan por la propia línea de llamada al script, y nos referimos a ellos con $1, $2...
# Las variables también pueden crearse directamente (como "total" antes) o leerse desde teclado (con read)
