Practica 2 Scripts
Practica 2 Scripts
Practica 2 Scripts
2. OBJETIVO (COMPETENCIA)
El alumno aprenderá a utilizar diferentes comandos de shell para realizar pequeños y
rápidos programas de aplicación.
3. FUNDAMENTO
Forma de escribir un programa de shell.
1.- Crear un archivo de texto con un editor. Este archivo contendrá las órdenes
que el shell va a interpretar y a ejecutar.
2.- Dar al archivo el atributo de ejecución con chmod.
3.- Ejecutar el programa escribiendo desde la línea de comandos
./nombredelscript
Ejemplo 1
Crear el archivo shell_script con vi y teclear lo siguiente:
########################
# Primer shell script #
########################
who
date
Ejemplo 2:
El nombre del segundo script será shell_paramet
Los programas de shell pueden recibir parámetros desde la línea de comandos.
Estos parámetros se llaman de posición y para saber su valor se utiliza el
símbolo $.
$0 Representa al parámetro cero o nombre del programa.
$1 Representa al parámetro 1.
.
.
$9 Representa al parámetro 9
########################
# Parametros #
########################
echo Parámetro 0= $0
echo Parámetro 1= $1
echo Parámetro 2= $2
echo Parámetro 3= $3
Ejemplo 3:
Existen algunas variables con significado especial como:
# Guarda el número de argumentos de la línea de órdenes (excluyendo el nombre
del programa).
* Guarda la cadena de argumentos enteras (excluyendo el nombre del programa).
? Guarda el código de retorno de la última orden( 0 si no hay error y 1 si hay
error)-
El nombre del tercer script será sh_var
########################
# Visualiza #, * y ? #
########################
echo La variable \# vale: $#
echo La variable \* vale: $*
cp
echo La variable \? vale: $?
Ejemplo 4:
La orden read se usa para leer información escrita en el terminal. Si hay
más variables en la orden read que palabras escritas, las variables que sobran
por la derecha se asignan a NULL. Si se introducen más palabras que variables
haya, todos los datos sobrantes por la derecha se asignan a la última variable de
la lista.
El nombre del cuarto script será sh_read
########################
# Orden read #
########################
echo –n “Introduce una variable:”
read var
echo La variable introducida es:$var
Después de cambiar los derechos, ejecutar el script de la siguiente manera:
$ ./sh_read
¿ Cuál fue la salida?
Ejemplo 5:
El nombre del quinto script será sh_read_var
##########################
#Lee varias variables con read #
##########################
echo –n “Introduce las variables:”
read var1 var2 var3
echo La variables introducidas son:
echo var1=$var1
echo var2=$var2
echo var3=$var3
while
Sintaxis: while condición
do
orden(es)
done
Se evalúa la condición
Si el código devuelto por la condición en 0 (verdadero), se ejecuta la
orden u órdenes y se vuelve a iterar.
Si el código de retorno de la condición es falso, se salta a la primera
orden que haya después de la palabra reservada done.
until
Sintaxis: until condición
do
orden(es)
done
Se evalúa la condición.
Si el código de retorno de la condición es distinto de 0(falso), se ejecuta la
orden u órdenes y se vuelve a iterar.
Si el código devuelto por la condición e 0(verdadero), se salta a la primera
orden que haya después de la palabra clave done.
case
Sintaxis: case palabra in
Patrón_1) orden_1;;
Patrón_2) orden_2;;
Patrón_N) orden_N;;
esac
Ejemplo 6:
echo –n “Selecciona el dia del menu”
read var3
case $var in
Lunes) echo el lunes hay hamburguesas;;
Martes) echo el martes hay tostadas;;
Miercoles) echo el miércoles hay sopes;;
esac
###############################
#programa que multiplica
echo –n
read arg1
read arg2
resultado=`expr $arg1 \* $arg2`
echo resultado=$resultado
Operadores matemáticos:
+ Suma arg2 a arg1
- Resta arg2 a arg1
* Multiplica los argumentos.
/ Divide arg1 entre arg2 (división entera)
% Resto de la división entera entre arg1 y arg2.
No hay que olvidar que el símbolo *, tiene un significado especial para el shell,
por lo que debe ser precedido por el símbolo / o encerrado entre comillas simples.
if Sintaxis:
if condicion
then
: orden(es)
else
orden(es)
fi
Ejemplo:
clear
var=1
linea=2
while [ $var -le 5 ]
do
tput cup $linea 20
read nombre
tput cup $linea 40
read apellido
tput cup $linea 50
echo $apellido" "$nombre
var=`expr $var + 1`
linea=`expr $ linea + 1`
done
4. PROCEDIMIENTO (DESCRIPCIÓN)
A. EQUIPO NECESARIO MATERIAL DE APOYO
Computadoras con salida vía Telnet Práctica impresa
B. DESARROLLO DE LA PRÁCTICA
Copie y ejecute los scripts que vienen en la práctica y realice los que a
continuación se explican.
1.- Realizar un script en donde pida su nombre y su edad. Posteriormente
se escribirá el nombre la cantidad de veces de su edad.
2.- Pedir un rango de números a imprimir. Posteriormente calcular el acumulado
de los pares e impares
5. RESULTADOS Y CONCLUSIONES
Al finalizar la práctica el alumno será capaz de realizar scripts con los comandos
básicos.
6. ANEXOS
7.- REFERENCIAS
Formato Electrónico elaborado por: M.C. Cecilia M. Curlango Rosas en Agosto de 2003.