Ejecuta uno o varios comandos dependiendo de si una condición se cumple o no. Algunos scripts de ejemplo para su uso [ver operadores]:
1.-
#!/bin/bash
read -p "Ingrese nombre del usuario: " USUARIO
if grep -e ^$USUARIO: /etc/passwd
then
echo "El usuario existe en el sistema"
else
echo "Usuario desconocido"
fi
exit 0
2.-
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "Solo root puede ejecutar este script."
exit 1
fi
3.-
#!/bin/bash
# Verificar si se ha entrado un argumento
if [ -z "$1" ]
then
echo "Falta el argumento después del nombre del script"
exit
fi
4.-
#!/bin/bash
# Introducir dos números diferentes e indicar
# cuál es el mayor
read -p "Introduce dos números: " A B
if [ $A -gt $B ]
then
echo $A "es el mayor"
else
echo $B "es el mayor"
fi
5.-
#!/bin/bash
#Con varias opciones [elif]
ls
echo
read -p "Cual leer: " LEER
echo
if [ -f $LEER ]
then
echo
cat $LEER
echo
elif [ -d $LEER ]
then
echo
echo "Es un directorio...."
else
echo
f_echo "¡¡NO EXISTE!!"
echo
fi
6.-
#!/bin/bash
echo "Diga si o no:"
read RESPUESTA
if [ "$RESPUESTA" = si ]; then
echo "Has escrito si"
elif [ "$RESPUESTA" = no ]; then
echo "Has escrito no"
elif [ "$RESPUESTA" = "" ]; then
echo "No has escrito nada"
else
echo "Has escrito una cosa no permitida"
fi
7.-
#!/bin/bash
# and y or como condicional
echo
if [[ -f ~/.bashrc ]] && [[ -r ~/.bashrc ]]
then
echo "Existe y se puede leer"
fi
#
if [[ 4 -lt 3 ]] || [[ 7 -eq 7 ]]
then
echo "Uno de los dos es verdadero"
fi
8.-
#!/bin/bash
# Comprobar si un directorio está vacio
DIR=~/polles
#
if [ "$(ls -A $DIR)" ]
then
echo "Contiene archivos"
else
echo "Vacio (o no existe o es un archivo)"
fi