PRSHUB04: Programación de la Shell de Ubuntu
1. Halla el valor de la variable $? de retorno de código de error tras ejecutar las siguientes
órdenes:
pwd cd /;mkdir \mio
pepe cd /;cat >intento
cp cd
cat /etc/passwd
2. Halla el valor de la variable $? de retorno de código de error tras ejecutar las siguientes
órdenes:
true
false
true;false
false;true
Nota: Las órdenes true y false asignan a la variable $? valor de cierto (0) o falso (distinto de
0).
3. Crea el siguiente guión shell:
expr $1 + $2
[Ctrl. + d]
a. Ejecútalo sin precederlo por sh y sin asignarle el atributo de ejecutable.
b. Con argumentos 3 y 2.
c. Sin argumentos.
d. Con argumentos –1 y 5.
e. Con argumentos 3.5 y 2.3 (decimales).
f. Con argumentos 3, 3 y 7.
Comprueba tras cada ejecución el valor $? de retorno de error.
4. Asigna a las variables $A y $N los valores A=Marta y N=3. ¿Cuál será el resultado de los
siguientes tests?
a. test $A=Marta
b. test $A –eq Marta
c. test $N –eq 3
d. test “$N” = ”3”
e. test “$N” –eq `expr 2 + 1`
f. test “$N” –eq “expr 2 + 1”
5. Sea A1 una variable vacía. ¿Cuál será el resultado de los siguientes tests?
a. test –z $A1 g. test $A1 –eq 0
b. test –z “$A1” h. test “$A1” -eq 0
c. test –n $A1 i. test $A1=””
d. test –n “$A1” j. test “$A1”=””
e. test ! –n $A1 k. test x$A1=x
f. test ! –n “A1” l. test “x$A1”=”x”
6. Un trayecto de tren cuesta 23 €. Elabora un programa BILLETE que pregunte si se desea
un billete de ida y vuelta y en ese caso efectúe un descuento del 20% sobre el precio de
doble trayecto. En pantalla debe aparecer el importe final.
7. Haz un programa DIVIS que compruebe si dos números son o no divisibles.
8. Realiza un programa MINOR que solicite dos números y muestre el más pequeño.
9. Elabora un programa OPCIONES que solicite una elección entre tres opciones a, b y c, y
muestre el mensaje “primera”, “segunda”, “tercera” o “elección incorrecta” según el caso.
1
PRSHUB04: Programación de la Shell de Ubuntu
10. Realiza un programa MASDATOS que añada registros de personas a una agenda. Para
cada entrada debe solicitar nombre, dirección y teléfono. Los datos, separados por
tabuladores, de cada persona se añadirán en una sola línea al archivo LISTA. El programa
seguirá solicitando datos hasta que se introduzca FIN como nombre.
11. Haz un programa TABLA que muestre en pantalla la tabla de multiplicar del número
introducido como argumento.
12. Realiza un programa BARRA que muestre en pantalla una línea con tantos asteriscos (*)
como indique el número introducido como argumento.