HTMLWeb
manuales - recursos - gráficos - programación...

Home - Linux -  Redes en Linux -  1 -  2 - 3  - 4 - 5  - 6 - 7  - 8 - 9  - 10 - 11  - 12 - 13  - 14

Redes en Linux (II)
por Narciso Cerro, de Piensa en Linux.


Editor VI. Scripts de Shell.-

El editor vi no destaca por ser un procesador de textos donde se puedan hacer grandes textos, sino por la capacidad de poder crear/editar ficheros de texto de configuración que hará que solucione sus problemas rápidamente.

Conociminetos mínimos de VI.-

La forma de lanzar vi para editar un fichero es la siguiente:

vi < nombre de fichero >

Por ejemplo para que Crispin edite el fichero llamado «carta», escribirá en línea de comandos:

[Crispin@Globus /Crispin]$ vi carta

La orden vi carta abrirá el fichero carta si este existe, si el fichero no existe, creará uno con ese nombre.

Lo primero que hay que saber es que el editor tiene tres modos de funcionamiento:

• Modo Ordenes
• Modo Inserción
• Modo Última Línea

Y lo mínimo que necesitamos saber para editar o crear un ficheros es:

1. Como cambiar entre modos de funcionamiento.
2. Como guardar los cambios
3. Como salir sin guardar los cambios. (por si nos equivocamos)

Nota importante: todas las ordenes se indican entre comillas para distinguirlas, pero en el editor, las comillas no hay que teclearlas!

Cómo cambiar entre modos de funcionamiento.

Por defecto se entra en modo Ordenes, que sirve para ejecutar los comandos propios del editor. Los comandos (u ordenes) son normalmente de uno o dos caracteres de longitud y nos permiten editar el fichero o cambiar a otros modos.

El modo Inserción se usa para escribir en el fichero, es la forma habitual de trabajo del editor. Para entrar en el modo Inserción se pulsará (desde el modo Ordenes):

• «i» para insertar texto a la izquierda del cursor
• «a» para añadir texto a la derecha del cursor
• «o» para empezar a escribir en la línea debajo del cursor

Si el fichero está vacío, no hay diferencia entre las tres ordenes. Para volver al modo ordenes pulsaremos la tecla Esc.

El movimiento entre líneas más sencillo es mediante las flechas del cursor y las teclas de avance y retroceso de página.

El modo Última Línea es un modo especial usado para proporcionar ciertas ordenes extendidas a vi. Al usar esos comandos, aparecen en la ultima linea de la pantalla (de ahí el nombre). Para entrar en el modo Última Línea debe pulsar (desde el modo Ordenes):

:

El modo de ultima linea es habitualmente usado por ordenes de vi con más de un carácter. En el modo de ultima linea, introduce una orden de una sola linea y pulsa <enter> para ejecutarla. Para volver al modo ordenes pulsaremos la tecla Esc.

Cómo guardar los cambios.

Una vez escrito o modificado el fichero, podemos guardar el fichero con la orden (desde el modo Ordenes) “w” . Si ademas queremos salir del editor “q”.

Se pueden combinar las dos ordenes:

wq

Si los cambios realizados no son de su agrado, cambiamos al modo ordenes y pulsamos:

q!

Si omite “!” el editor no le permitirá salir sin guardar.

Estas nociones básicas son suficientes para un trabajo sencillo de corrección o edición de ficheros. Quizá no necesite más (o no quiera saber más) en ese caso con teclear man vi en prompt del sistema descripción detallada sobre el funcionamiento del vi.

Creación de un script.-

Conociendo el uso de un editor de texto, la realización de un script de shell es una tarea trivial.

Generalmente crearemos scripts para uso personal, como automatización de tareas o ejecución de sentencias largas de ordenes. También es posible que usemos scripts de terceros e incluso que otros leguen a utilizar un script nuestro.

Existe un carácter especial del cual haremos bastante uso: la almohadilla (#). Toda línea que comience por almohadilla será ignorada por el interprete de comandos. Es lo que se conoce como comentario. Normalmente se usa para documentar los scripts o para omitir la ejecución de una línea determinada. (Recuerde que la shell leerá línea a línea el contenido del script, cada línea una orden.)

Ademas la usaremos para otra cosa más, la primera línea del script se suele empezar así:

#!/bin/sh

Es la forma de indicar al interprete de comandos que lo que viene a continuación es un script y como debe usarlo. Se suele indicar sh por ser un interprete que se encuentra en todas las maquinas Linux y Unix.

A partir de aquí el script sigue según nuestras necesidades. Puede que necesite usar variables o simplemente ejecutar dos docenas de comandos. El uso de caracteres especiales le será útil en la creación de potentes scripts.

Aquí unos ejemplos sencillos:

#!/bin/sh
/usr/bin/netscape
rm -f $HOME/.netscape/history.list

Todavía quedan un par de pasos para que los scripts sean del todo operativos:

1. Dar al script permiso de ejecución.
2. Poner el script en un directorio que esté incluido en el PATH.

Un script se puede lanzar como argumento de una shell:

[Crispin@Globus /Crispin]$ sh navegador

Sí el script anterior se llamase navegador, la sentencia anterior lo lanzaría. Esto es igual que:

[Crispin@Globus /Crispin]$. Navegador

¡Fijese en el punto! Otro ejemplo, asignamos permiso de ejecución, pero el directorio donde se encuentra no está en el PATH:

[Crispin@Globus /Crispin]$./navegador

El “./” (punto - barra) indica al shell que el script se encuentra en el directorio actual y lo ejecuta. Este método es perfecto para probar el script o la ejecución esporádica. Lo más correcto para un script de uso habitual es colocar el script en un directorio que esté incluido en el PATH.

Recuerde que los scripts que realicen tareas administrativas pueden ir al directorio /sbin, los generales para todos los usuarios a /bin, los personales se deberían guardar en /home/user/bin (sustituyendo user por el nombre del usuario en cuestión) y que hay que vigilar bien la asignación de permisos.

 

anterior
siguiente

Home - Linux -  Redes en Linux -  1 -  2 - 3  - 4 - 5  - 6 - 7  - 8 - 9  - 10 - 11  - 12 - 13  - 14