Soluciones Capitulo 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Programación Shell

© Ra-Ma www.adminso.es

CAPÍTULO 1: INTRODUCCIÓN A LA PROGRAMACIÓN


SHELL
1.1. ¿Qué diferencia existe en la ejecución de las siguientes líneas de
órdenes? La orden ps muestra en pantalla una lista con los procesos
que el usuario tiene activos en este momento. Utilice man para
conocer más sobre su funcionamiento.

$ (ps > pru; cat pru > pru1) &


$ ps > pru & cat pru > pru1 &

En la primera línea se realizan las siguientes tareas:


• Se redirecciona la salida del comando ps al fichero pru.
• Simultáneamente, se copia mediante el comando cat y la redirección
el contenido del fichero pru al fichero pru1.
• Todo esto se lleva a cabo en segundo plano (background) al
englobarlo todo entre paréntesis y utilizar el modificador &.
• El proceso acaba con el contenido de ps en los ficheros pru y pru1.

En la segunda línea, por el contrario, se realizan las siguientes tareas:


• Se lanzan dos trabajos en background de manera independiente.
• Se crea el fichero pru y se copia el contenido del mismo (vacío) en
pru1.
• ps redirecciona su salida al fichero pru creado en el paso anterior.
• pru queda con el contenido de ps mientras pru1 queda vacío.

1.2. A partir de dos ficheros con datos, indique el comando que permite
añadir el contenido del primer fichero al segundo.

Para añadir el contenido de un fichero en otro se debe utilizar la


redirección >>.

$ cat fichero1>>fichero2

1.3. Suponiendo que tiene la siguiente asignación:

persona = fulano

Indique la salida de cada uno de los siguientes comandos:


echo $persona fulano
Programación Shell
© Ra-Ma www.adminso.es

echo ‘$persona’ $persona


echo “$persona” fulano

1.4. Escriba un script que informe del nombre del Shell que lo está
ejecutando.

$ echo $SHELL

1.5. El administrador del sistema debe establecer las rutas por defecto
para todos los usuarios del sistema y cada uno de éstos puede
personalizar su propio entorno, añadiendo grupos de caminos de
búsqueda (siempre que no utilice un Shell restringido).
Como ejercicio se propone interpretar la siguiente orden:

PATH=$PATH:/home/scripts:/opt/Oracle/bin

Mediante la orden anterior se añade al PATH del sistema todos aquellos


programas ejecutables que se encuentren en los directorios
/home/scripts y /opt/Oracle/bin.

1.6. Interprete la salida de la siguiente orden:

echo "`basename $0` : \"$USER\" con permiso de ejecución"


>&2

Mediante `basename $0` se obtiene el nombre del script, eliminando la


parte delantera en la cual aparece la ruta de acceso al mismo.
Posteriormente se muestra el nombre del usuario que está ejecutando el
script y se le añade el mensaje “con permiso de ejecución”,
redireccionando todo esto a la salida de error estándar.

1.7. Un modo de diferenciar el Shell en el que se está trabajando (muy


útil si se trabaja con máquinas remotas) es modificando el prompt
de las mismas. Como se vió en el apartado ¡Error! No se encuentra el
origen de la referencia. la modificación del prompt es muy sencilla,
ya que se realiza sobre una variable de entorno. Además del
cambio de formato, el coloreado puede ayudar. Por ello se propone
modificar la variable de entorno para que el prompt quede con el
siguiente formato:
usuario@host:~$
Programación Shell
© Ra-Ma www.adminso.es

Para la realización de este ejercicio únicamente se debe cambiar el color


de las distintas partes que componen el prompt de acuerdo a la tabla de
colores (1.4.4) y hacer uso de las opciones del prompt.

PS1='\[\e[0;31m\]\u\[\e[0;32m\]@\[\e[1;33m\]\h\[\e[0;34m\]:
~\[\e[0;36m\]$ '

También podría gustarte