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
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