Ejercicios Shell Scripts Resueltos (Relación 2 Ejercicios)

Previamente deberías leer el artículo Introducción a Ejercicios Shell Scripts resueltos para realizar estos ejercicios.

Antes de meternos de lleno en realizar los ejercicios acerca de bucles conviene explicar los argumentos o parámetros en los programas shell de UNIX y GNU/Linux.

$# Número de argumentos que se le pasan.
$1,$2,$3 Hacen referencia al primero, segundo, tercer parámetro y así sucesivamente.
$o Nombre del programa de shell.
$* o $@ Hacen referencia a todos los argumentos en la línea de órdenes.
$# Número de parámetros.
$? Valor devuelto por la última orden ejecutada.
$! PID del último proceso ejecutado en background.
$$ PID del shell actual.
$UID UID del usuario.
$USER Nombre del usuario.
$HOME Directorio HOME del usuario.

 

Comprobaciones de enteros shell

n1 -eq n2 Verdadero si los enteros n1 y n2 son iguales.
n1 -ne n2 Verdadero si los enteros n1 y n2 no son iguales.
n1 -gt n2 Verdadero si el entero n1 es mayor que el entero n2.
n1 -ge n2 Verdadero si el entero n1 es mayor o igual que el entero n2.
n1 -lt n2 Verdadero si el entero n1 es menor que n2.
n1 -le n2 Verdadero si el entero n1 es menor o igual a n2

 

Comprobaciones de cadenas en shell

-z cadena Verdadero si la longitud de la cadena es cero.
-n cadena Verdadero si la longitud de la cadena es mayor que cero.
cadena1=cadena2 Verdadero si cadena1 y cadena2 son idénticos.
cadena1!=cadena2 Verdadero si cadena1 y cadena2 no son idénticos.

 

Comprobaciones de archivos

-e archivo Verdadero si existe el archivo.
-r archivo Verdadero si existe el archivo y puede leerse.
-w archivo Verdadero si existe el archivo y puede escribirse.
-x archivo Verdadero si existe el archivo y es ejecutable.
-f archivo Verdadero si existe el archivo y es un archivo regular.
-d archivo Verdadero si existe el archivo y es un directorio.
-O archivo Verdadero si existe el archivo y pertenece al usuario.
-G archivo Verdadero si existe el archivo y pertenece al grupo del usuario.
-s archivo Verdadero si existe el archivo y tiene un tamaño mayor que cero.

 

expr

El comando expr sirve para resolver expresiones matemáticas de números enteros en la terminal. Por ejemplo, si queremos que nos aparezca el resultado de 7 + 2 * 7 / 3 ponemos en la terminal:

expr 7 + 2 \* 7 / 3

Antes del asterisco * pongo el backslash -» \ … es necesario, pues expr no interpreta el asterisco como símbolo de multiplicación a no ser que se le ponga el \

Parte 1 Condicionales

Ejercicio 1.

Recibe un número entero por teclado y dice si es positivo.

Ejercicio 2.

Recibe un número entero por teclado y dice si es negativo.

Ejercicio 3.

Recibe un número entero por teclado y dice si es igual a cero.

Ejercicio 4.

Recibe un numero entero por teclado y dice si es positivo, negativo o cero.

Ejercicio 5.

Comprueba si el número de parámetros introducido es igual a 3, en el caso de que sea otro número mostrara un mensaje de error por pantalla.

Ejercicio 6.

Recibe dos números por parámetros y lo suma. En caso de que el número de parámetros sea incorrecto muestra un mensaje de error.

Ejercicio 7.

Recibe 3 parámetros. En el caso de que reciba un número diferente muestra un mensaje de error. Los dos primeros serán dos números y el tercero será uno de los siguientes símbolos “+” “-“ “x” “/”, dependiendo del tercer parámetro introducido realizara la correspondiente operación. El en caso de que se introduzca un símbolo diferente, presentara un mensaje indicando cuales son las opciones correctas.

Ejercicio 8.

Recibe la ruta de un fichero e indica si existe.

Para abordar el ejercicio repasar tabla Comprobaciones de archivos del inicio.

Ejercicio 9.

Recibe la ruta de un fichero e indica si es un directorio o un fichero.

Ejercicio 10.

Recibe la ruta de un fichero e indica los permisos que tiene (escritura, lectura, ejecución)

 

Parte 2 Bucles

Ejercicio 11.

Que imprima por pantalla 50 veces la palabra hola.

Ejercicio 12.

Que lea una palabra por teclado y la muestre por consola. Deberá realizar esta operación 10 veces.

Ejercicio 13.

Reciba un número por parámetro. El programa imprimirá la palabra “hola” el número de veces indicado por parámetro.

Ejercicio 14.

Un número n por parámetro. El programa imprimirá los números del 0 al n por pantalla.

Ejercicio 15.

Reciba un número n por parámetro. El programa tendrá que sumar todos los números entre 1 y n. Posteriormente mostrara el resultado de la suma por pantalla.

Ejercicio 16.

Reciba dos números por parámetro. El programa deberá hacer que el primer parámetro tome el valor del segundo parámetro y el segundo parámetro tome el valor del primero. Por ejemplo si introduce el 2 y el 9, en un principio $1 es 1 y $2 es 9. Tras la ejecución del programa $1 valdrá 9 y $2 1. (este es sin bucles)

Ejercicio 17.

Programa que lea palabras hasta que se escriba “:q”

Ejercicio 18.

Programa que lea palabras y las guarde en un fichero, hasta que se escriba “:q”

Ejercicio 19.

Programa que lea palabras y las guarde en un fichero de forma ordenada, hasta que se escriba “:q”

 

Ejercicio 20.

Realiza un programa que solicite un número y compruebe si se encuentre en un archivo llamado numeros.

 

Parte 3 Case

Ejercicio 21.

Un trayecto en tren cuesta 30€. Realiza un programa que pregunte si se desea un billete de ida y vuelta, en ese caso efectúe un descuento del 20% sobre el precio de doble trayecto. En pantalla debe aparecer el importe final.

 

 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies ACEPTAR

Aviso de cookies