Está en la página 1de 6

Ejercicios Shell

1. Elaborar un scrip-shell que crea un arreglo de n elementos donde va a guardar los nombres de
ciudades colombianas. Después imprimirá el arreglo por la salida estándar.

# shell para trabajar con arreglos


#
clear
i=0
echo " Digite el tamaño del arreglo que quiere crear"
read elementos
while (test $i -lt $elementos)
do
echo " "
echo " "
echo " Creando el elemento $i del arreglo ciudades colombianas"
echo " "
echo " "
echo " Digite la ciudad "
read ciudad
array[$i]=$ciudad
i=`expr $i "+" 1`
done
echo ${array[*]}
Nota: Para ejecutar el programa con arreglos se debe hacer de la siguiente forma

source Nombredelprograma

2. Elabore un script-shell que imprima por consola: Tamaño del arreglo


Elementos del arreglo
Índices del arreglo
Elementos e índices del arreglo

#!/bin/bash
array=(uno dos tres cuatro [5]=cinco [9]=nueve)
echo "Tamaño del arreglo: ${#array[*]}"
echo “Elementos del arreglo: “
for ítem in ${array[*]}
do
printf “ %s\n” $item
done
echo "Indices del arreglo: "
for index in ${!array[*]}
do
printf " %d\n"
$index done
echo "Elementos e indices del arreglo: "
for index in ${!array[*]}
do
printf "%4d: %s\n" $index ${array[$index]}
done

3. Elaborar un script-shell que permita la inscripción y


listas de los candidatos a las diferentes entes que
gobiernan la UPC: Consejo Superior CS
Consejo Académico CA
Consejo de Facultad CF
Bienestar Estudiantil BE

#!/bin/bash
#Shell que produce lista de los aspirantes a los diferentes entes
# que manejan la UPC: Consejo Superior Universitario CS
# Consejo Académico CA, Consejo de Facultad CF y Representantes ante
# el Bienestar Estudiantil BE
clear
while true
do
echo " "
echo " "
echo " "
echo " UPC"
echo " Elecciones universitarias"
echo “ "
echo " Menu Principal"
echo " "
echo " 1. Inscripcion de candidatos"
echo " 2. Eliminación candidatos"
echo " 3. Listado candidatos CS"
echo " 4. Listado candidatos Consejo Academico"
echo " 5. Listado candidatos Consejo Facultad"
echo " 6. Listado candidatos Bienestar Estudiante"
echo " 7. Salir"
echo " "
echo " Digite opcion desea...\c"
read opcion
case $opcion
in

1) echo "Digite candidatos: Apellidos Nombres CS/CA/CF/BE"


read candidato
echo $candidato >> archivo;;
2) echo "Digite Apellido candidato a eliminar"
read candidato
grep -v $candidato archivo > temporal
mv temporal archivo;;
3) grep -i "CS" archivo > temporal
sort temporal
rm temporal;;
4) grep -i "CA" archivo >
temporal sort temporal
rm temporal;;
5) grep -i "CF" archivo > temporal
sort temporal
rm temporal;;
6) grep -i "BE" archivo > temporal
sort temporal
rm temporal;;
7) exit;;
*) echo " Opcion invalida digite de nuevo";;
esac

read enter
clear
done

4. Script-shell que muestra el manejo de funciones.

#!/bin/bash
# Script shell calculos matematicos usando conceptos funciones
#
sumador ()
{
i=1
echo "Digite el nro de la sumatoria"
read nro
suma=$nro
while (test $i -lt $nro)
do
suma=`expr $suma "+" $i`
i=`expr $i "+" 1`
done
echo "La sumatoria de los $nro = $suma"
}
fibonacci ()
{
anterior=1
actual=2
cal=1
echo "Digite el nro hasta donde se van a calcular fibonacci"
read fibo
echo " "
echo "Lista nro fibonacci:"
while (test $fibo -ge $cal)
do
cal=`expr $actual "+" $anterior`
anterior=$actual
actual=$cal
echo $cal
done
}

# Programa principal
while true
do
clear
echo " "
echo " "
echo " Menu calculo"
echo " "
echo " Opciones:"
echo “
echo “ 1. Sumatoria"
echo " 2. Fibonacci"
echo “ 3. Terminar"
echo " "
echo “ Digite opcion...\c"
read opcion
case $opcion in
1) sumador;;
2) fibonacci;;
3) exit;;
*) echo " Error digite de nuevo"
read nulo
esac
echo " Para terminar digite ctl-Z"
read nulo
done
# final programa
Importante: Para ejecutar los script que trabajan con arreglos se
deben realizar de la siguiente forma:
Sources nombre del script

5. Elabore un scrip-shell que cuente los votos de cada candidato y


el total de votos a la presidencia de la Republica periodo 2022
– 2026

6. Leer los datos de un archivo de entrada que contiene los


estudiantes de todas las carreras de la UPC, crear un archivo de
salida con solo los estudiantes que estudian ingeniería de
sistema.

#!/bin/bash
#
#Script Shell que produce de salida un archivo con los meros # #
#estudiantes de ing. Sistemas a partir de un archivo de entrada
# donde se encuentran todos los estudiantes de la UPC
# Código de carrera de Ingeniería de sistemas = SS400
# La configuración del archivo entrada: código carrera, código
#estudiente, Nombre del estudiante
#
clear
while read linea
do
grep –i “SS400” inputFile >> outputFile
done < inputFile
echo “ El contenido del archivo generado es el siguiente: “
more outputFile

7. Tenemos el siguiente archivo de entrada llamado: fileInput cuyo registro contiene los siguientes campos:
código estudiante UPC, nombre, parcial 1, parcial 2 y parcial 3. Elabore un script Shell que calcule la nota
definitiva sabiendo que le primer parcial vale 30%, el segundo el 30% y el tercero el 40%.

11111, Aldana Osorio Jorge, 3, 4, 5

22222, Calderón Martinez Juana, 4, 1, 3

33333, Fajardo Cardona Julio,1, 4, 3

44444, Torres Mendoza Tulio Enrique, 1, 2, 3


#!/bin/bash

# script bash que calcula nota definitiva estudiantes UPC #

clear

while read linea

do

awk –F, ‘{print NR “ “ $1 “ “ $2 “ “ $3 “ “ $4 “ “ $5 “ “ ($3 * 30)/100 + ($4 * 30)/100 + ($5 * 40)/100}’

done < fileInput

Nota: el parámetro $0 se refiere a toda la línea o registro

Nota: el parámetro –F, le estamos diciendo que el separador de campos es coma (,) NR

Numera las filas.

También podría gustarte