0 calificaciones0% encontró este documento útil (0 votos) 138 vistas56 páginasScripts Shell PDF
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
PRACTICA 1 de scripts.
1.- Visualiza el conjunto de variables de entorno definidas con la orden set. Crea dos variables A
y By asignales los “valores” ana y maria respectivamente. Comprueba que las nuevas variables
se han incorporado al entomo.
2.- Considera las variables A=ana y Bmaria de la practica anterior. Visualiza su contenido con
echo SA y echo SB.
Crea una subshell con Ia orden sh (compruébalo ejecutando ps). Vuelve a visualizar $A y SB.
Regresa al shell anterior con Ia orden exit. Comprueba que los valores de A y B vuelven a ser
accesibles.
3.- Exporta las variables A y B. Repite las acciones de la practica anterior y comprueba que los
valores de A y B son accesibles desde cualquier subshell.
4.- Crea una variable N y asignale el valor 3. Arranca un nuevo shell con sh. Reasigna el valor de
Nad.
Regresa al shell padre con exit, Comprueba que el valor de N vuelve a ser 3
5.- Ejecuta las siguientes érdenes y analiza los resultados:
echo AB echo SB ola echo “SA $B”
echo SA SB echo $Bola echo ‘$A $B’
echo $ASB echo ${B}ola echo \$A $A
echo SBSA. echo rosSA. echo “SA SB"
6. Aitade a la variable A el contenido de la variable B y guarda el resultado en la variable C.
Compruébalo.
7. Crea las variables AI=A A2=SA A3="$A” A4="SA’ AS=\SA y comprueba sus valores con la
orden echo.
8~ Descubre el contenido-valor de las variables MAIL, PATH, TERM, PS1, PS2, HOME y
LOGNAME.
Estas variables suelen crearse en el programa-archvio-guién de acceso al sistemaprofile y
exportadas para su uso en toda la sesién,
9- Cambia la variable de sistema PS1 por “Mande...”. Pulsa [Intro] varias veces o ejecuta alguna
oxden, Reasigna a PS1 su valor original.
19.- Ejecuta las érdenes env, set y export y observa las diferencias.
11+ Muestra en pantalla el contenido del archivo.profile y observa las variables definidas y
exportadas.
12.~ a) Ejecuta las érdenes clear, date, who y Is sucesivamente,
b) Incluye las cuatro érdenes en una sola linea separandolas por punto y coma.(;).
c) Crea (con cat > q) un archivo q que contenga las cuatro drdenes citadas (una en cada
linea. Ejecuta el archivo q con la orden sh q.13. Intenta ejecutar la nueva orden q sin precederla de sh. Observa el mensaje del sistema.
Modifica el atributo de ejecutable con la orden chmod +x q. Repite ahora la accién anterior.
14.- Crea un archvio-guién shell con el nombre saludo que contenga la orden echo $1. Ejectitala
com los siguientes argumentos:
sh saludo Carlos
sh saludo Lucia Marta
sh saludo “Lucia Marta”
sh saludo
15.- Modifica el archivo saludo anterior de la siguiente forma:
echo hola $1
echo hola $2
echo hola $3
Ejectitalo con los argumentos Carlos Lucia Pablo Marta. Afiade a saludo las lineas siguientes:
echo El nombre del guién es $0
echo El conjunto de argumentos es $*
Vuelve a ejecutarlo con tos mismos argumentos.
16.- Ejecuta el guién shell anterior con los argumentos Carlos Lucia “Pablo Marta”, Analiza el
efecto de las comillas dobles.
17 Crea el siguiente guién shell y Ilémalo cuenta:
echo “Niimero $1. Total $*”
shift
echo “Niimero $1. Total $*”
shift
echo “Niimero $1. Total $*”
Ejeciitalo con la linea de érdenes sh cuenta 123 45.
18.- gSe pueden incluir en un guidn shell mas de 9 argumentos en variables posicionales?.
19,- crea el siguiente guidn shell saludo2:
clear
read nombre
banner Hola Snombre
Ejeciitalo con un iinico valor, con dos separados por un espacio y con varios agrupados entre
comillas dobles.
20,- Ejecuta las siguientes operaciones aritméticas con la orden expr:
342 555 12/4 7*4/2
Sez ES: 17*6 4*8/2 4*7/2
3+5-2 34245 8/2*4 T12*4
Nota: Recuerda que el asterisco * es un carécter especial. Para que no sea interpretado por el
shell debe ir precedido por una barra invertida \. Ejemplo: 4 \* 9. La orden expr no considera
decimales.
jecuta las siguientes operaciones aritméticas con la orden expr.
8%2 17/3 17%322.- Crea las variables I=2, J=3. Con la orden expr asigna a la variable K la suma de Ty Je
incrementa en 1 el valor de I. Compruébalo,
23.- La orden expr no admite paréntesis para alterar la prioridad de las operaciones. ,Cémo
caleularias (3+5)/2?
Nota: Las expresiones encerradas entre acentos graves son evaluadas y sustituido su valor
resultante antes de proceder a evaluar el resto de la linea de érdenes.
24.- Elabora un guién shell que solicite dos niimeros enteros (precio y cantidad) y muestre el
importe total aplicando un IVA del 6% (sin tener en cuenta decimales).
25. Modifica el programa anterior para que muestre un mensaje de solicitud para cada dato.
Consigue que no se produzca un salto de linea ente le mensaje de solicitud y la introduccién del
dato.
26. Realiza un guién shell que solicite un nimero y muestre el resto de dividirlo entre 2 (ser 0
para los pares y 1 para los impares).
27. Crea un guién shell que solicite dos mimeros enteros y muestre su cociente con tres
decimales.
28.- Realiza un guidn shell que solicite tres mimeros y muesire la suma acumulada, el producto
acumulado y el valor medio.
29.- Modifica el guién shell de la prictica para mostrar también el resto despreciado en el valor
medio. Afiade una linea para obtener el valor medio con cuatro decimales.
30.- Elabora un guién shell que solicite 6 mimeros y muestre el resto de dividir la suma de los 6
nimeros entre 28.
Nota: Un algoritmo similar se utiliza para afiadir al niimero del DNI una de las 28 letras del
abecedario para constituir el NIF.PROBLEMA 3
Queremos estudiar los diferentes algoritmos de planificacién de la CPU y sdlo
nos falta decidimos entre los tres siguientes:
PEPS (primeras entradas, primeras salidas), SRT (tiempo restante mds corto) sin
expropiacién 0 SRT con expropiacién.
Fabricamos el siguiente juego de pruebas:
Tiempo legada Tiempo ejecucién
PL 0 25
P2 1 =
P3 2 10
P4 3 1
PS 4 2
Obtener los tiempos de espera y los tiempos de retomo de cada proceso, asi
como el tiempo promedio de espera y el tiempo promedio de retomo en cada uno de los,
algoritmos de planificacién.Prictica de Scripts (II)
1, Halla el valor de la variable $? de retomo de cédigo de error tras ejecutar las siguientes
érdenes:
pwd
pepe
ep
cat etc/passwd
ed /smkdir/mio
ed /scat> intento
ed
2. Halla el valor de la variable $? de retorno de cédigo de error tras ejecutar las siguientes
ordenes:
true
false
true;false
false;true
Nota: Las drdenes true y false asignan a la variable $? El valor de cierto (0) o falso (distinto
de0)
3. Crea el siguiente guién shell:
cat prueba. error
expr $1 + $2
[Ctrl +d)
a) Ejeciitalo sin precederlo por sh y sin asignarle el atributo de ejecutable.
b) con argumentos 3 y 2.
©) Sin argumentos.
4) Con argumentos 1 y 5.
©) Con argumentos 3.5 y 2.3 (decimales).
1) Con argumentos 3,3 y 7.
Comprueba tras cada ejecucién el valor $? de retomo de error.
4, Asigna a las variables $A y $N los valores AMarta y N=3. ;Cual serd el resultado de los
siguientes tests?
a) test $A = Marta
b) test SA -eq Marta
c) test $N-eq 3
4) test “SN” ="3”
¢) test “SN” -eq ‘expr 2+ 1°
) test “SN” -eq “expr 2 +1"
5. Sean las variables N1=3.5, N2=3.2, N3
siguientes tests?
y N4=004, ,Cual sera el resultado de losa) test SNI -gt SN2
b) test SNI -le SN2
©) test $N3 -eq SN4
4) test $N3 = $N4
6. Sea Al una variable vacia. ,Cual sera el resultado de los siguientes tests?
a) test -2 SA
b) test-2 “SAI”
c) test $Al -eq 0
4) test “SAI” -eq 0
¢) test SAI
1) test “SAI
g) test xSAl =x
hy) test “xSAI” = “x”
7. Propén un programa NOTA que solicite un mimero y si es mayor que 10 muestre el
mensaje: “demasiado grande”.
8. Un trayecto en tren cuesta 3.280 pts. Elabora un programa BILLETE que pregunte si se
desea un billete de ida y vuelta y en ese caso efectiie un descuento del 20% sobre el precio de
doble trayecto. En pantalla debe aparecer el importe final.
9, Realiza un programa PREGUNTA que muestre en pantalla la pregunta “,Quién descubrié
América?” y segiin la respuesta muestre el mensaje “es correcto” o “no es correcto”.
10, Crea un programa PARIMPAR que solicite un niimero y diga si es par o impar.
11, Haz un programa DIVIS que compruebe si dos mimeros son o no divisibles.
12. Construye un programa COMPROB que solicite un nombre y compruebe si figura en
un archivo llamado LISTA.
1 13. Elabora un programa SINDATO que detecte si se ha introducido o no un argumento
posicional
14, Realiza un programa MINOR que solicite dos mimeros y muestre el més pequefio.
15. Haz un programa MATRICULA que solicite los datos de matricula en un determinado
centro que oferta cursos con las siguientes caracteristicas:
NIVEL DEPARTAMENTO SECCION
Diplomado Admon Personal
Clientes
Gestion Ventas
Produceién
Master Direccién Personal
Fabricacion
También podría gustarte
Shell
Aún no hay calificaciones
Shell
6 páginas
Ejercicio 2
Aún no hay calificaciones
Ejercicio 2
7 páginas
Lab 15
Aún no hay calificaciones
Lab 15
13 páginas
Pract Linux
Aún no hay calificaciones
Pract Linux
9 páginas
Prog Unx
Aún no hay calificaciones
Prog Unx
19 páginas
Cripto1 PDF
Aún no hay calificaciones
Cripto1 PDF
17 páginas
T08 Procesos
Aún no hay calificaciones
T08 Procesos
8 páginas