Shell

Solo disponible en BuenasTareas
  • Páginas : 17 (4047 palabras )
  • Descarga(s) : 13
  • Publicado : 10 de diciembre de 2008
Leer documento completo
Vista previa del texto
INTRODUCCIÓN
shell: es un programa que se ejecuta automáticamente cuando se
inicia una sesión UNIX. Su función principal es la de servir de interlocutor entre el núcleo delsistema operativo y el usuarioUna característica añadida del shell es que funciona como un lenguaje de programación:permite crear ficheros de programas o procesos shell. El contenido de estos ficheros es:
* Comandos UNIX.
*Variables.
* Comandos del lenguaje de programación shell.
2 CÓMO EJECUTAR UN PROCEDIMIENTO SHELL
Existen tres formas básicas:
'''''' sh nombre del proceso shell
./ejemplo.sh ejecuta los script en unix,colocando los permisos de ejecución (700)

COMENTARIOS EN PROGRAMAS SHELL
Un comentario en un proceso shell se identifica porque comienza por el carácter #.
Ej
echo dentro
var1=holaecho $var1
exit
var2=adios
echo $var2
echo fuera
4 VARIABLES
Existen dos tipos de variables:
* Las variables de entorno.
* Argumentos para los procedimientos shell.
4.1 Variables de entorno
•Asignación de valor. Sintaxis: nombre de variable=valor= $.
Para observar el valor de todas las variables definidas en un determinado instante, hay
que ejecutar la orden set.
* El valor asignado auna variable puede intervenir en otra variable. Es aconsejable en
este caso, y a veces necesario1, identificar el nombre de esta variable encerrándola entre
corchetes.
Ej. $ preposicion=para
$ objeto=${preposicion}caidas
$ echo $objeto
paracaidas
$

* Cuando en el valor asignado existan varias palabras separadas por espacios, hay que
usar comillas para preservar estos espacios en ladefinición de la variable
Ej. $ s="ls -l"
$ $s /usr
obtendremos el listado largo del contenido del directorio /usr
$
* Se puede asignar como valor de una variable, la salida de una orden UNIX. En este
caso, después del igual se encierra la orden UNIX entre caracteres acento grave (`).
Ej. $ hoy=`date`
$ echo $hoy
Mon Jan 16 17:30:19 MET 1995
$
4.1.2 Asignación externa a variables del shell:lectura de valores con READ
Los valores para las variables del shell se pueden capturar a través del teclado o de otros
ficheros mediante la sentencia read, con un funcionamiento similar a la lectura de una variable
en cualquier lenguaje de programación.
$ echo “Dame un valor: “
$ read entrada
$ echo “He leido $entrada”
También se pueden leer varios datos en varias variables dentro de unamisma sentencia
read. Tan sólo hay que poner las variables una tras otra en el mismo mandato read:
Programación del shell 4
$ echo “Dame ahora dos valores: “
$ read entrada1 entrada2
$ echo “He leido dos entradas: $entrada1 y $entrada2”
El alcance de una variable es la del guión en la que está definida (o en el shell en el que
esté definida). Si queremos que una variable esté definida paratodo el entorno tendremos que
utilizar el mandato export.
4.1.3 Variables shell predefinidas
El shell tiene predefinidas una serie de variables de entorno. Algunas de ellas pueden
modificarse, asignándolas otro valor distinto al de por defecto. Otras son de sólo lectura, pueden
se usadas, pero no modificadas. Las variables predefinidas modificables más interesantes son:
* HOME. Su valor pordefecto es la ruta del directorio del usuario. Es el argumento por
defecto de la orden cd.
* PATH. Es el grupo de directorios donde el sistema busca los ficheros ejecutables.
* PS1. Define la cadena de caracteres que aparecen como prompt del sistema. Por defecto
su valor es $.
4.2 Argumentos para los procedimientos shell
Es un tipo de variables que se transmite al proceso shell cuando este esinvocado. Es un
argumento para el proceso.
• Asignación de valor. Son argumentos que se añaden a la derecha del nombre del
proceso cuando éste es invocado.
• Uso de la variable. Son referenciadas dentro del proceso shell como:
* $1 para el primer parámetro, aquel que se encuentra justo a la derecha del
nombre del proceso shell.
* $2 para el segundo parámetro.
* $3 para el tercer...
tracking img