Construcción de Scripts Básicos
Construcción de Scripts Básicos
Construcción de Scripts Básicos
1Control de flujo
Su uso está destinado tanto para asignar valores como para abreviar
cadenas de caracteres de uso frecuente. Los valores se designan ya sea
mediante una sentencia de asignación, o invocando un comando cuyos
argumentos son vistos como variables o valores de éstas, según si van
precedidos por el meta carácter ‘$’.
Ejemplo:
Ejemplo:
<nombre-variable>=
Ejemplo:
~#%usuario=
Otras variables “Shell”, y cuyo uso veremos en adelante, son las siguientes:
Ejemplo:
~#echo $PS1
~#echo $PATH
Ejemplo:
Estructura for
Formato:
for <nombre> [in <p1> <p2> …]
do
<lista-comandos>
done
donde:
Ejemplo:
Construya y pruebe el siguiente script.
El script se va a llamar nombresyarchivos.sh
Estructura while
Formato:
while <lista-comandos-1>
do
<lista-comando-2>
done
donde:
Es la secuencia de comandos a
ser ejecutada. Si la condición
<lista-comandos-2> representada por <lista-
comandos-1> es satisfecha, lo
que se refleja por el valor cero de
la variable de estado $?
Asociada.
Ejemplo: Este script permite borrar con confirmación todos los archivos
indicados como argumentos desde la línea de comandos.
Estructura until
Estructura case
Formato:
case <palabra> in
<alternativa-1> <lista-comandos-1>;;
<alternativa-2> <lista-comandos-2>;;
…
esac
donde:
Es una secuencia de comandos
separados por un cambio de
línea (newlinea) o el meta
<lista-comandos-i> carácter ‘;’. El término de la lista
de comandos es representado
mediante el meta carácter ‘;;’.
Ejemplo:
Construya un archivo de comando de nombre ‘encolar’ que al
llamarlo me permita incorporar el contenido de un archivo en la
cola del contenido de otro archivo.
~#%encolar antonio
Estructura if
Formato:
if <lista-comando-1>
then
<lista-comando-2>
fi
donde:
Es la secuencia de comandos a
ser ejecutada. Si la condición
<lista-comandos-2> representada por <lista-
comandos-1> es satisfecha, lo
que se refleja por el valor cero de
la variable de estado $?
asociada.
Ejemplo:
if test $# -lt 2;
then
echo ‘se requieren 2 o más argumentos’
fi
<lista-comandos-1> || <lista-comando-2>
Ejemplo:
if test -f “$1” #es $1 un archivo?
then
pr $1
fi
que también podríamos haber escrito de la siguiente forma:
if <lista-comandos-1>
then
<lista-comando-2>
else
<lista-comando-3>
fi
Ejemplo: