Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

case

In golpear, el comando compuesto de opción múltiple se llama case. Tiene la siguiente sintaxis:

case palabra clave in

[patrón [| patrón] ...) comandos ;;] ...

esac

Si miramos el menú de lectura programa del Capítulo 28, vemos la lógica utilizada para actuar sobre la selección de un usuario:



#! / Bin / bash

# read-menu: un programa de información del sistema controlado por menús clear

eco "

Por favor seleccione:


1. Mostrar información del sistema

2. Mostrar espacio en disco

3. Muestra la utilización del espacio en el hogar

0. Salir "

read -p "Ingresar selección [0-3]>"


si [[$ RESPUESTA = ~ ^ [0-3] $]]; entonces si [[$ REPLY == 0]]; luego

#! / Bin / bash

# read-menu: un programa de información del sistema controlado por menús clear

eco "

Por favor seleccione:


1. Mostrar información del sistema

2. Mostrar espacio en disco

3. Muestra la utilización del espacio en el hogar

0. Salir "

read -p "Ingresar selección [0-3]>"


si [[$ RESPUESTA = ~ ^ [0-3] $]]; entonces si [[$ REPLY == 0]]; luego


echo "Programa terminado". Salida

fi

si [[$ RESPUESTA == 1]]; luego repita el tiempo de actividad de "Hostname: $ HOSTNAME"

salida

fi

si [[$ RESPUESTA == 2]]; luego df -h

salida

fi

si [[$ RESPUESTA == 3]]; luego

si [[$ (id -u) -eq 0]]; luego

echo "Utilización del espacio doméstico (todos los usuarios)" du -sh / home / *

más

echo "Utilización del espacio doméstico ($ USER)" du -sh $ HOME

salida fi

fi más

echo "Entrada no válida". > & 2 salida 1

fi

echo "Programa terminado". Salida

fi

si [[$ RESPUESTA == 1]]; luego repita el tiempo de actividad de "Hostname: $ HOSTNAME"

salida

fi

si [[$ RESPUESTA == 2]]; luego df -h

salida

fi

si [[$ RESPUESTA == 3]]; luego

si [[$ (id -u) -eq 0]]; luego

echo "Utilización del espacio doméstico (todos los usuarios)" du -sh / home / *

más

echo "Utilización del espacio doméstico ($ USER)" du -sh $ HOME

salida fi

fi más

echo "Entrada no válida". > & 2 salida 1

fi


Usando case, podemos reemplazar esta lógica con algo más simple:


#! / Bin / bash

# case-menu: un programa de información del sistema controlado por menús clear

eco "

Por favor seleccione:


1. Mostrar información del sistema

2. Mostrar espacio en disco

3. Muestra la utilización del espacio en el hogar

0. Salir "

read -p "Ingresar selección [0-3]>"


caso $ REPLY en

0) echo "Programa terminado". Salida

;;

#! / Bin / bash

# case-menu: un programa de información del sistema controlado por menús clear

eco "

Por favor seleccione:


1. Mostrar información del sistema

2. Mostrar espacio en disco

3. Muestra la utilización del espacio en el hogar

0. Salir "

read -p "Ingresar selección [0-3]>"


caso $ REPLY en

0) echo "Programa terminado". Salida

;;


1) echo "Nombre de host: $ HOSTNAME" tiempo de actividad

;;

2) df-h

;;

3) si [[$ (id -u) -eq 0]]; luego

echo "Utilización del espacio doméstico (todos los usuarios)" du -sh / home / *

más

echo "Utilización del espacio doméstico ($ USER)" du -sh $ HOME

fi

;;

*) echo "Entrada no válida"> & 2 salida 1

;;

esac

1) echo "Nombre de host: $ HOSTNAME" tiempo de actividad

;;

2) df-h

;;

3) si [[$ (id -u) -eq 0]]; luego

echo "Utilización del espacio doméstico (todos los usuarios)" du -sh / home / *

más

echo "Utilización del espacio doméstico ($ USER)" du -sh $ HOME

fi

;;

*) echo "Entrada no válida"> & 2 salida 1

;;

esac


La case comando mira el valor de palabra clave, en nuestro ejemplo, el valor de la RESPUESTA variable, y luego intenta compararla con una de las variables especificadas .. Cuando se encuentra una coincidencia, comandos asociados con el patrón especificado se ejecutan. Una vez que se encuentra una coincidencia, no se intentan más coincidencias.


 

Top OS Cloud Computing en OnWorks: