Oracle Live

07/10/2016

LINUX – SCRIPTING II Estructuras de Control

Filed under: Sistemas — mogukiller @ 12:09 pm
Tags:

Conjunto de estructuras de control de flujo para tus scripts.

-- CONDICION
-- IF
-- CASE
-- LOOPS Control
-- SELECT

--------------------------------------
-- Condicion
--------------------------------------

-- Numericos:
-lt
-gt
-eq
-ne
-- String
 =
!=
-d file 	--> True if the file exists and is a directory. 
-f file 	--> True if the file exists and is a regular file 
-L file 	--> True if the file exists and is a symbolic link. 
-r file 	--> True if the file exists and is readable. 
-s file 	--> True if the file exists and its size is greater than zero. 
-w file 	--> True if the file exists and is writable. 
-x file 	--> True if the file exists and is executable. 
-O file 	--> True if the file exists and is owned by the effective user id. 
-G file 	--> True if the file exists and is owned by the effective group id. 

file1 –nt file2 	--> True if file1 is newer, by modification date, than file2. 
file1 -ot file2 	--> True if file1 is older than file2. 
file1 ef file2 	--> True if file1 and file2 have the same device and inode numbers. 
-z string 		--> True if the length of the string is 0. 
-n string 		--> True if the length of the string is non-zero. 

string1 = string2 --> True if the strings are equal. 
string1 != string2 --> True if the strings are not equal. 

!expr 		--> True if the expr evaluates to false. 

expr1 –a expr2 	--> True if both expr1 and expr2 are true. 
expr1 –o expr2 	--> True is either expr1 or expr2 is true. 


-----------------------------------------
-- IF
-----------------------------------------
-- Estructura

if [ <condicion> ] 
then
<sentencias>
elif [ <condicion> ]
then
<sentencias>
else
<sentencias>
fi


-- Ejemplos

-- Si una variable esta definida

if [ -z "$2" ] 
then 

fi

-- Compruebo el usuario

if [ `whoami` != 'oracle' ]
then

fi

-- Comprobamos si el fichero esta vacio

if [ -s alert.err ]; then
echo "
fi

-- Compruebo el usuario

if [ `whoami` != 'oracle' ]
then

fi

-- Comprobamos el numero de parametros pasado

ARGS=2
if [ $# -ne "$ARGS" ]; then
echo "Faltan parametros"
fi

-- Hacemos varias comprobaciones

if [ "$1" -gt 10 ] && [ "$2" -lt 11 ]; then
fi 

-- IF en una linea.

command && echo "Comando Pass .." || echo "Comando Fail .."
[ "$(whoami)" != 'root' ] && ( echo "Usuario no valido"; exit 1 )

--------------------------------------
-- CASE
--------------------------------------

case "$1" in
 'start')
command1
command2
;;
'stop')
command1
command2
;;
esac

case $space in
	[1-6])
		echo "Uno: "$space
	;;
	[7-9]*)
		echo "Dos: "$space
	;;
	9[1-8]*)
		echo "Tres: "$space
	;;
	*)
		echo "Cuatro: "$space
	;;
esac

--------------------------------------
-- LOOPS Control
--------------------------------------

break	n	--> Termina el bucle, parametrizandolo con n indicamos el numero de niveles que queremos que salte
continue n	--> Salta a la siguiente interaccion

--------------------------------------
-- SELECT
--------------------------------------

Utilizamos para construir menus:

select fruta in "Platano" "Pera" "Melon" "Sandia"
do
	echo "Tu fruta es "$fruta
	break
done

1) Platano
2) Pera
3) Melon
4) Sandia

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: