ejemplos de shell

Páginas: 10 (2279 palabras) Publicado: 31 de julio de 2013
Laboratorio de Sistemas Operativos
Ingenierías Técnicas en Informática de Sistemas y Gestión
2006/2007
__________________________________________________________________________________________

Ejemplos de guiones shell



Ruta absoluta vs. ruta relativa
Es muy importante saber en qué directorio estamos ubicados para poder referenciar
correctamente un archivo/directorio determinado.El comando pwd nos muestra la ruta completa del directorio donde estamos trabajando.
La variable de entorno HOME (se accede a ella con $HOME) nos proporciona el directorio de
trabajo asociado al usuario.

Supongamos que nos encontramos en el directorio /home/usuario/Practica1. Después de
ejecutar el comando ls -l obtenemos la siguiente salida. Aquí hay dos subdirectorios
denominadosPractica2 y public_html.
-rwxr-xr-x
drwxr-xr-x
-rwxr-xr-x
-rwxr-xr-x
drwxr-xr-x
-rw-r--r--rw-r--r--rw-r--r-lrwxrwxrwx
-rw-r--r--rw-r--r--

1
4
1
1
2
1
1
2
1
2
1

jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos
jcarlos

users
users
users
users
users
users
users
users
users
users
users

52
728
56
106
80
1362
7
21284
321284
0

2007-03-09
2007-03-26
2007-03-09
2007-03-01
2007-02-24
2007-03-05
2007-03-10
2007-03-10
2007-03-10
2007-03-10
2007-03-05

20:32
19:08
20:32
22:52
16:30
20:54
20:16
20:15
20:14
20:15
22:53

ejemplo1
Practica2
progreso
prueba1
public_html
rr
rr2
rr2link
rr2slink -> rr2
rrlink
sal

Pues bien, cualquier referencia a este subdirectorio utilizando la rutarelativa será simplemente
a través de su nombre ya que se encuentra justo debajo de donde estamos.
ls -l Practica2
cd Practica2
Si nos encontráramos en el subdirectorio public_html, entonces
ls -l ../Practica2
cd ../Practica2
Todo éstos son ejemplos de ruta relativa.
Su ruta absoluta será /home/usuario/Practica1/Practica2. Ahora:
ls -l /home/usuario/Practica1/Practica2
cd/home/usuario/Practica1/Practica2

Ejemplos Shell Script

1

Laboratorio de Sistemas Operativos
Ingenierías Técnicas en Informática de Sistemas y Gestión
2006/2007
__________________________________________________________________________________________
Con estos comandos siempre obtendremos los mismos resultados, independientemente del
directorio desde donde los lancemos.

Si esto lo aplicamos a unshell script tendremos lo siguiente:
if [ -d Practica2 ] será cierto si Practica2 es un subdirectorio del directorio donde
ejecutemos el shell script.
if

[

-d

/home/usuario/Practica1/Practica2

]

será

cierto

si

/home/usuario/Practica1/Practica2 es un directorio. Aquí no importa desde dónde
lanzamos el script ya que estamos utilizando la runta absoluta.

Si estamos enel directorio /home/usuario/Practica1 y lanzamos el script
código es el siguiente:

ejemplo1 cuyo

#!/bin/bash
if [ -d $1 ]
then
echo $1 es un directorio
else
echo $1 no es un directorio
fi

Aquí $1 representa el valor del primer argumento introducido al ejecutar lo siguiente:
. ejemplo1 Practica2

Dentro del script anterior $1 será sustituido por el valor Practica2. Como Practica2sí que es un
subdirectorio del directorio donde hemos lanzado el script, la salida será cierta.
Pero una ejecución como . ejemplo1 /home/usuario/Practica1/Practica2 también será cierta,
ya que ahora $1 será sustituido por el valor /home/usuario/Practica1/Practica2 que,
evidentemente, es un directorio.

Supongamos ahora que el directorio de trabajo por defecto del usuario (directorio al quese
conecta el usuario) es /home/usuario. $HOME tendrá pues, el valor /home/usuario. Entonces:
if [ -d $HOME/Practica1 ] será cierta.
if

[

-d

$HOME/Practica2

]

será

falsa

pues

no

existe

el

directorio

/home/usuario/Practica2
Ejemplos Shell Script

2

Laboratorio de Sistemas Operativos
Ingenierías Técnicas en Informática de Sistemas y Gestión
2006/2007...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Shell
  • SHELL
  • Shell
  • Shell
  • Shell
  • Shell
  • Shell
  • shell

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS