lunes, 12 de enero de 2015

Programación en shell


Definición

La programación en shell  utiliza el  procesador de órdenes (shell) para poder desarrollar
programas básicos.

Un fichero de texto que se va a procesar por el shell se conoce normalmente

por shell script. Es habitual que los shell scripts tengan la extensión .sh.

El intérprete de comandos o "shell" de UNIX es también un lenguage de programación completo. La programación de shell se usa mucho para realizar tareas repetidas con frecuencia.

En un shell script se pueden utilizar variables. Una variable puede contener un número, un
carácter o una cadena de caracteres. No necesita ser declarada, por defecto todas las variables
son cadenas de caracteres.

Para programar se requiere algún editor específico de unix tanto el nano como vi pueden ser útiles para empezar a programar.

Vamos a explicar el funcionamiento del editor vi.

El editor tiene dos modos de uso:

  •     Edición: Para modificar un fichero
  •     Comando: Para gestión

Para abrir el editor tan solo basta con poner vi nombrearchivo.sh , si no existe el archivo lo crea

Uso de los comando en el editor vi.

  • :q para salir
  • :q! salir y descartar cambios
  • :wq Guardar y salir
  • a para agregar texto a la derecha del cursor
  • o para agregar una línea (o a y enter)

Los archivos ejecutables en shell
  • Tienen extensión .sh
  • Se ejecutan con ./nombre.sh argumentos o con la ruta absoluta
  •  # = Se usa para  comentarios
  • En general, mismas normas que cualquier lenguaje de programación
  • Los comandos, en realidad, son programas
  • Para linux todo es un archivo

Variables y sus condiciones
  • No pueden llamarse igual que las palabras reservadas
  • Empiezan con una letra



Paso de parámetros

Los parámetros se pasan como argumentos al programa

$0, $1, $2… $0 es el nombre del programa
$# =Número total de parámetros



E/S de datos por consola

Para que el ordenador lea desde la consola - read
Para que escriba - echo



Redireccionamiento de la salida

En linux se abren 3 archivos por defecto al ejecutar un programa
  • Salida estándar: Monitor
  • Entrada estándar: Teclado
  • Error estándar: Monitor
Se pueden reasignar permanente o temporalmente


Comandos para mostrar el contenido de un fichero
  • less
  • cat
  • more
Lo normal es usarlo con filtros mediante pipes (|)

Filtros

grep = muestra las líneas que cumplan una condición
$ less /etc/passwd | grep root
head y tail  Primeras y últimas líneas
head –n 20 nombre_de_archivo
tail –n 20 nombre_de_archivo
$ less /etc/passwd | head –n 5
$ less /etc/passwd | tail –n 5
cut = obtiene campos a partir de un separador
cut –d “:” –f filas nombre_de_archivo
$ less /etc/passwd | cut –d “:” –f1
sort = ordenar una salida de datos
$ less /etc/passwd | cut –d “:” –f1 | sort
$ less /etc/passwd | cut –d “:” –f3 | sort –n = números






No hay comentarios:

Publicar un comentario