Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rodrigo Tufiño
1. Crear un script que permita listar SOLO los archivos de un directorio (donde sea ejecutado el
script), adicionalmente despliegue el nombre del usuario y el path absoluto de los archivos.
2. Definir un script que cuente el número de líneas de un archivo provisto como parámetro (Ej: $
bash ejercicio2.sh archivo.txt).
3. Crear un script con cuatro funciones (métodos), imprimir un mensaje y preguntar al usuario que
función desea ejecutar:
a) Función “hola”: pregunta al usuario su nombre y lo imprime.
b) Función “tiempo”: imprime el año, mes, día, hora, minuto y segundo actual
c) Función “nacimiento” pregunta al usuario el año de nacimiento e imprimir su edad actual.
d) Función “salir”.
4. Mediante el uso de arreglos (vectores), simular una tabla de ruteo donde el array tiene la IP y
nombre de un host, por ejemplo [192.168.1.45] = ”máquina de juan”. Ingrese la dirección IP con su
respectivo host, en la consola el usuario ingresa como parámetro la dirección IP, el programa debe
retornar la IP y el nombre de la maquina a quien le pertenece.
5. Crear un script utilizando el lazo de repetición WHILE, ingresar nombres a un vector, indicar la
posición actual en la que se va guardando cada nombre, una vez que el usuario ya no quiera
ingresar ninguno más, imprimir los nombres que se han almacenado en dicho vector.
6. Realizar un programa con CASE, el cual permita realizar dos acciones:
a) -e Editar un archivo (vi) y
b) -v Ver un archivo con (cat)
Se debe ingresar dos parámetros $ bash ejercicio5.sh opcion archivo
7. Crear un script que permita realizarlas operaciones básicas de (-s) suma, (-r) resta, (-m)
multiplicación y (-d) división, ingresando en la línea de comando los valores y la opción de
operación que se desea realizar. Tomar en cuenta la división para cero y desplegar un mensaje en
caso de ser necesario, también que los números ingresados no sean iguales y desplegar un
mensaje. Se debe ingresar dos números como parámetros. El script debe ejecutarse de la
siguiente manera: $ bash ejercicio6.sh +s 8 9
8. Crear un script que permita recibir como parámetro un archivo de texto y cambie las líneas impares
en minúsculas y las líneas pares en mayúsculas. El archivo debe ser ingresado como parámetro y
Resolución CS N° 076-04-2016-04-20
Ingeniería de Sistemas Docente: Ing. Rodrigo Tufiño
Firma: ___________________
Resolución CS N° 076-04-2016-04-20
Ingeniería de Sistemas Docente: Ing. Rodrigo Tufiño
ANEXO
SHELL es un programa que actúa como una interface entre el usuario y el sistema de UNIX, permitiendo ejecutar
comandos para ejecutarlos en el sistema operativo.
El re direccionamiento de un archivo usa < y >, una tubería | y una salida para un subproceso con $(…), en conjunto con
la implementación de los detalles que son creador por uno mismo, UNIX es un lenguaje de programación de alto nivel.
UNIX es modular, se tiene diferentes tipos de Shell en uso, la mayoría de ellos se deriva de Bourne Shell.
Nombre del SHELL Poco de historia
sh (Bourne) Es el Shell original
csh, tcsh y zsh Es el C Shell creado por Bill Joy, probablemente es el segundo más popular luego de bash.
Es un elemento de Linux, del proyecto GNU. Bourne Again Shell, tiene la ventaja de que el código
bash
es libremente disponible.
rc Es un C que un csh, también pertenece al GNU Project.
En muchos de los sistemas Linux, el comando /bin/sh no es nada más que un link al actual Shell en uso. En varios
sistemas de Linux está enlazado con /bin/bash es decir el bash Shell.
ls -l /bin/sh
/bin/bash -version
$BASH_VERSION
Siempre la primera línea debe llevar #!/bin/sh significa que el script siempre se va a ejecutar con
BASH en vez de otro Shell.
vi ejemplo.sh
nano ejemplo.sh
Resolución CS N° 076-04-2016-04-20
Ingeniería de Sistemas Docente: Ing. Rodrigo Tufiño
A CONTINUACIÓN UN EJEMPLO
1. Crear script.
vi ejemplo.sh
#!/bin/sh
#ejemplo.sh
date
echo
# fin ejemplo.sh
chmod +x ejemplo.sh
3. Ejecutar
Resolución CS N° 076-04-2016-04-20
Ingeniería de Sistemas Docente: Ing. Rodrigo Tufiño
./ejemplo.sh
4. Resultado
Resolución CS N° 076-04-2016-04-20