Volver al índice


if

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

Volver al índice