Está en la página 1de 4

EJERCICIOS de guiones shell

Veremos: Operador . sh Modificacin del fichero .bash_profile Operador grave ` Estructura de un shell script Paso de parmetros a un shell script y su posterior tratamiento.

=> Lo primero que debeis hacer es crear un directorio en vuestro home llamando scripts. 0.- Realizar el script chmodx en shell que permita hacer ejecutable un fichero del usuario, que se le pasa como argumento. 1.- Realizar un script script identi que visualice tu identificacin de usuario y el directorio donde ests. 2.- Realizar un script saluda que visualice el siguiente texto (los puntos suspensivos serian los valores pertenecientes a cada usuario) Soy . Estoy en el directorio ................ La fecha de hoy es...... 3.- Crea un script saluda2 al que se le pasen tres argumentos. El nombre de mi script es........... Mi primer argumento es ........... Y .......... es el tercero Y estos son todos mis argumentos. 4.Crea el script lsl. Este deber mostrar el directorio actual en formato largo y hacer una pausa de la pantalla. 5.- Crear un script llamado permiso que de permiso de ejecucion al usuario y de lectura al grupo y al resto, dado un fichero o directorio pasado como argumento desde la lnea de rdenes. 6.- Realizar un script llamado ls_mio que realice un listado largo personalizado de tal forma que muestre solamente primero el nombre del fichero y despus el tamao. Debe aparecer clasificado alfabticamente y con el separador de campo : 7.- Crear un script conectados que liste el nombre de los usuarios conectados (sin mostrar repetidos) 8.- Realizar un script que liste uno de los campos de la orden ls .-l. El nmero del la columna a extraer se le pasa como parmetro.

1/4

Problema 2: lsc Realizar un script que liste uno de los campos de la orden ls l. El campo a extaer se le pasa como argumento. Problema 3: lsm Modificar el problema anterior para que liste un conjunto de campos pasados como argumento. Problema 4: tam Disear un guin que liste todos los ficheros del directorio actual con un tamao mayor que un argumento dado. Problema 5: sumtam Disear un guin que sume todos los tamaos de todos los ficheros que se le pasen como argumento, dando un mensaje de error para aquellos argumentos que no existan o que sean directorios. Problema 6:sumadir Disear un guin que sume los tamaos de todos los ficheros del directorio pasado como argumento pasado no es un directorio o no existe. Problema 7: sumatodo Disear un guin que sume los tamaos de todos los ficheros del directorio actual y de los ficheros que contienen sus directorios en un primer nivel. Utilizar como herramienta el guin anterior sumadir. Problema 8: mvr Realizar un programa que cambie el nombre de todos los ficheros del directorio de trabajo que acaban en una determinada subcadena (que se pasa como parmetro) por un nombre similar acabado en una subcadena diferente (pasada como segundo parmetro). Nota: Consulta el manuel del comando Ksh para averiguar cmo realizar la sutitucin de una subcadena por otra. 9.- El comando history es un comando que nos informa de los ltimos comandos utilizados. Este comando lee del fichero oculto que tenemos en nuestro HOME .bash_history. Para visualizarlo ejecutamos ls -a (lista todos ficheros incluidos los ocultos). historial Ejemplo: $history 50 lista los ltimos 50 comandos utilizados. (entrados) Realizar un programa que muestre la frecuencia de los ltimos n comandos ejecutados. Donde n es un parmetro que paso cuando ejecuto el script. Hay que visualizarlo con el siguiente formato: --- Utilizacin de los ltimos n comandos Frecuencia Comando 3 ls -l 4 clear ..... .............

2/4

1. Disear un script que liste todos los ficheros del directorio actual con tamao mayor o superior al que se le pasa como argumento ( usar la orden find ). 2. Escribe un script en el que dados dos argumentos numricos (pasados como parmetros) los sume si el primero es menor que el segundo y los reste en casos contrario. 3. Disear un script en el que dado un argumento, nos diga si es un dgito, una letra u otra cosa. 4. Disear un script al que se le pasa un argumento de tal forma que si es un directorio lista su contenido. Usar el operador &&. 5. Disear un script que usando el operador || indique si un fichero dado como argumento no existe. 6. Disear un script que pida el texto de un mensaje electrnio, mande el correo con el mensaje a todos los usuarios conectados a la vez que lo muestra por pantalla. 7. Crear un script que invierta todos los argumentos recibidos de lnea de rdenes y los visualice. 8. Completar el anterior script indicando el nmero de argumentos recibidos y la posicin inicial de los mismos antes de ser invertidos. 9. Dar permisos de ejecucin a un fichero pasado como parmetro, pero averiguar si existe primero. 10. Script para obtener dos listas de ficheros del directorio actual, una de directorios y otra de ficheros. Los campos a visualizar son permisos y nombre. Mostrad un men para elegir entre lista de ficheros o la lista de directorios

3/4

1. Realizar un script que pida al usuario que introduzca por teclado una cadena previamente pasada como argumento, y repita la peticin hasta que la reproduccin del argumento sea correcta. Usar el comando read y la estructura while. 2. Disear un script que solicite la introduccin por teclado de un nombre de usuario y reitere la peticin hasta que encuentre uno que est conectado. 3. Disear un script que sume los tamaos de los ficheros del directorio que se la pasan como argumento dando un mensaje de error para aquellos argumentos que no existan o sean directorios (hacedlo con el grep). 4. Disear un script que determine si los argumentos que se le pasan son nmeros pares o impares. Realizadlo en dos pasos: primero determinar si es un nmero (es decir, no es alfanumrico) y en caso afirmativo, determinar si es par o impar. Ayuda: para realizar este script teneis que sustituir todos los nmeros introducidos por nada. Entonces si es un nmero se sustituir todo y si hay letras no se sustituir todo. Teneis que hacer la pregunta si no es cadena vacia. 5. Realizar un programa que muestre todos los ficheros con permiso de lectura para otros, de un directorio que se proporciona como parmetro.

6. Disear un script que detecte los nuevos usuarios que se van conectando al sistema. Para ello el script debe funcionar en modo subordinado y debe de mostrar peridicamente los usuarios conectados. Cada vez que haya un nuevo usuario debe mostrarse el usuario por pantalla.

Ejemplo: Nuevo usuario : pepito Nuevo usuario: antonio

4/4

También podría gustarte