La Kornshell: Lenguaje De Programación Y Comando
Total Page:16
File Type:pdf, Size:1020Kb
La KornShell: Lenguaje de Programación y Comando Una guía para programadores de Shell Scripts de Unix Jesús Alberto Vidal Cortés http://inicia.es/de/chube [email protected] www.kornshell.com Madrid, Agosto de 2001 Índice PARTE I: INTRODUCCIÓN......................................................................................................... 11 1. SOBRE EL LENGUAJE KORNSHELL ........................................................................................... 12 ¿Qué es una Shell?.............................................................................................................. 12 Beneficios del uso de ksh..................................................................................................... 13 Mejoras como Lenguaje de Comandos ................................................................................................................ 13 Mejoras como Lenguaje de Programación........................................................................................................... 14 Versiones a las que se aplica este manual............................................................................. 15 ¿Cómo obtener ksh?............................................................................................................ 16 2. NOTACIÓN UTILIZADA EN ESTE MANUAL..................................................................................... 18 General ............................................................................................................................... 18 Teclas sobre el Terminal....................................................................................................... 18 Nombres simbólicos para Constantes.................................................................................... 18 Notación de sintaxis de comandos ........................................................................................ 19 PARTE II: TUTORIAL ................................................................................................................. 20 3. CONCEPTOS DEL SISTEMA OPERATIVO...................................................................................... 21 Ficheros .............................................................................................................................. 21 Convenciones de nomenclatura............................................................................................................................. 21 Permisos de Ficheros .............................................................................................................................................. 23 Ficheros y Directorios Especiales .......................................................................................................................... 23 Procesos ............................................................................................................................. 24 Creando y Destruyendo Procesos ......................................................................................................................... 24 Relaciones entre Procesos ..................................................................................................................................... 25 Permisos de Procesos ............................................................................................................................................. 25 Señales ....................................................................................................................................................................... 26 Comunicación entre Procesos ................................................................................................................................ 27 Entorno del Proceso................................................................................................................................................. 27 Descriptores de Fichero........................................................................................................................................... 28 Cadenas y Patrones ............................................................................................................. 28 Caracteres y Cadenas ............................................................................................................................................. 28 Ordenación por Comparación de Cadenas .......................................................................................................... 29 Patrones ..................................................................................................................................................................... 29 4. LENGUAJE DE COMANDOS ...................................................................................................... 31 Ejecución de comandos simples ........................................................................................... 31 Fijando y visualizando las opciones ....................................................................................... 33 Corrigiendo lo tecleado......................................................................................................... 34 Utilizando el “alias” como abreviatura .................................................................................... 35 Reintroduciendo comandos previos ....................................................................................... 35 Cambiando el permiso de los ficheros ................................................................................... 36 Redireccionando la entrada y la salida................................................................................... 38 - 2 - Pipelines (encauzamiento) y Filtros ....................................................................................... 39 Expansión de la Tilde........................................................................................................... 40 Variables ............................................................................................................................. 41 Expansión del “Pathname”.................................................................................................... 41 Comandos de Timing ........................................................................................................... 42 Entrecomillando caracteres especiales .................................................................................. 43 Directorio de trabajo ............................................................................................................. 44 Como encuentra ksh un comando ......................................................................................... 44 Substitución de comandos .................................................................................................... 45 Ejecución de comandos en modo desatendido....................................................................... 46 Control de Jobs o Trabajos ................................................................................................... 47 Comandos Compuestos ....................................................................................................... 49 Shell Scripts ........................................................................................................................ 49 5. LENGUAJE DE PROGRAMACIÓN................................................................................................ 51 Introducción a los Parámetros............................................................................................... 51 Parámetros Posicionales ...................................................................................................... 51 Más sobre los Parámetros .................................................................................................... 53 Valores de retorno................................................................................................................ 54 Más sobre entrecomillado..................................................................................................... 55 Matching o “encaje” con patrones.......................................................................................... 56 Abriendo y cerrando ficheros ................................................................................................ 57 Leyendo de Terminales y ficheros ......................................................................................... 58 Escribiendo a terminales y ficheros ....................................................................................... 59 Here-Documents (documentos empotrados).......................................................................... 60 Co-Procesos ........................................................................................................................ 60 Agrupación de comandos ..................................................................................................... 61 Aritmética............................................................................................................................ 62 Chequeando ficheros y cadenas ........................................................................................... 63 Comandos compuestos ........................................................................................................ 64 Arrays ................................................................................................................................