1. Visualiza el conjunto de variables de entorno definidas con la orden set.
Crea dos variables A y B y
asígnales los “valores” ana y mari respectivamente. Comprueba que las nuevas variables se han
incorporado al entorno.
2. Considera las variables A=ana y B=mari de la práctica anterio. Visualiza su contenido con echo $A
y echo $B.
Crea un subshell con la orden sh (compruébalo ejecutando ps). Vuelve a visualizar $A y $B.
Regresa al Shell anterior con la 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 práctica anterior y comprueba que los valores
de A y B son accesibles desde cualquier subshell.
[Link] una variable N y asígnale el valor 3. Arranca un nuevo Shell con sh.
Reasigna el valor de N con 4.
Regresa al Shell padre con exit. Comprueba que el valor de N vuelve a ser 3.
[Link] las siguientes órdenes y analiza los resultados:
echo A B
echo $B ola
echo “$A $B”
echo $A $B
echo $Bola
echo ‘$A $B’
echo $A$B
echo ${B}ola
echo \$A $A
echo $B $A
echo ros$A
echo `$A $B`
6.Añade a la variable A el contenido de la variable B y guarda el resultado en la variable C.
Compruébalo.
[Link] las variables A1=A A2=$A A3=”$A”
A4=’$A’ A5=\$A y comprueba sus valores
con la orden echo.
[Link] el contenido-valor de las variables MAIL, PATH, TERM, PS1, HOME y LOGNAME.
Estas variables suelen crearse en el programa-archivo-guión de acceso al sistema .profile y exportadas
para su uso en toda la sesión.
[Link] a variable de sistema PS1 por “Mande…”
Pulsa [Intro] varias veces o ejecuta alguna orden. Reasigna a PS1 su valor original.
[Link] las órdenes env, set y export y observa las diferencias.
[Link] en pantalla el contenido del archivo .profile y observa las variables definidas y exportadas.
12.A) Ejecuta las órdenes clear, date, who y ls sucesivamente.
B) Incluye las cuatro órdenes en una sola línea separándolas por punto y como (;)
C) Crea (con cat > q) un archivo q que contenga las cuatro órdenes citadas (una en cada línea). Ejecuta
el archivo q con la orden sh q
[Link] ejecutar la nueva orden q sin precederla de sh. Observa el mensaje de sistema.
Modifica el atributo
de ejecutable con al orden chmod +x q. Repite ahora la acción anterior.
[Link] un script con el nombre saludo que contenga la orden echo $1. Ejecútala con los siguientes
argumentos:
sh saludo Carlos
sh saludo Lucia Marta
sh saludo “Lucia Marta”
sh saludo
[Link] el archivo saludo anterior de la siguiente forma:
echo hola $1
echo hola $2
echo hora $3
Ejecútalo con los argumentos Carlos Lucia Pablo Marta. Añade a saludo las líneas siguientes:
echo El nombre del guión es $0
echo El conjunto de argumentos es $*
Vuelve a ejecutarlo con los mismos argumentos.
[Link] el guión shell anterior con los argumentos Carlos Lucia “Pablo Marta”
Analiza el efecto de las comillas dobles.
一 Crea el siguiente guión Shell y llámalo cuenta:
echo “Número $1. Total $*”
shift
echo “Número $1. Total $*”
shift
echo “Número $1. Total $*”
Ejecútalo con la línea de órdenes sh cuenta 1 2 3 4 5
1. Se pueden incluir en un script más de 9 argumentos en variables posicionales?
2. Crea el siguiente script saludo2:
clear
read nombre
banner Hola $nombre
Ejecútalo con un solo argumento, con dos argumentos separados por un espacio y con varios
argumentos agrupados entre comillas dobles.
一 Ejecuta las siguientes operaciones aritméticas con la orden expr:
3 + 2 3 * 5 12 / 4 7 * 4 / 2
3 + 2 + 5 17 * 6 4 * 8 / 2 4 * 7 / 2
3+5–23+2*58/2*47/2*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.
1. Ejecuta las siguientes operaciones aritméticas con la orden expr:
8 / 2 8 % 2 17 / 3 17 % 3
一 Crea las variables I=2, J=3. Con la orden expr asigna a la variable K la suma de I y J e incrementa
en 1 el valor I. Compruébalo.
二 23La orden expr no admite paréntesis para alterar la prioridad de las operaciones ¿Cómo calcularías
(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 línea de órdenes.
24Elabora un scritp que solicite dos números 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 línea entre el mensaje de solicitud y la introducción del dato.
26. Realiza un script que solicite tres números y muestre la suma acumulada, el producto acumulado y
el valor medio.