PROGRAMACIÓ E SHELL DE LI UX.

Documentos relacionados
$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Shell Script Sistemas Operativos III - ITS EMT - CETP

Sistemas Operativos sesión 13: shell-scripting

Que es el Shell? Kernel. Other programs. csh. bash. X window

Programación de scripts bajo shell de LINUX

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

LINUX - Los archivos de órdenes I

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

PROGRAMACIÓN DEL SHELL

Programación shell-scripts 1 LA SHELL

Introducción a PL/SQL

PHP: Lenguaje de programación

LINUX - El intérprete de órdenes II

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Instituto Tecnológico de Las Américas (ITLA)

ESTRUCTURAS DE CONTROL

JavaScript: Expresiones regulares

PROGRAMACIÓN DE LA SHELL DE UNIX/LINUX

Creacion de Script. Que es un Script?

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Guía práctica de estudio 05: Diagramas de flujo

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

SEMANA N 9 NOMBRE EXPERIENCIA: Funciones, variables y arreglos en BASH UNIDAD DE APRENDIZAJE: Introducción a los SCRIPTS

Estructuras de Control. Cecilia Curlango Rosas

Tema: Estructuras de Selección en C#.

Programando con el intérprete de órdenes (shell) de UNIX

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

M. en E. Noemí López García

Elementos de un programa en C

CREACIÓN DE SCRIPTS EN LINUX

Funciones & Estructuras de control

REFERENCIA DEL LENGUAJE

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Scripting en el cliente: Javascript. Tecnologías Web

TEMA 3: El proceso de compilación, del código fuente al código máquina

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

FUNDAMENTOS DE INFORMÁTICA

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Tema 3. Aplicaciones de Tipo Consola

CURSO: SISTEMA OPERATIVO LINUX, ADMINISTRACIÓN Y CONFIGURACIÓN

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Tutorial Básico de vbscript

Introducción a PL/SQL

Programación con bash

Comandos MS-DOS carpetas archivos Ampliación de Comandos: DATE TIME PATH

Java para no Programadores

LENGUAJE PHP Y CAKEPHP FRAMEWORK

Tema 2. El lenguaje JAVA

Programación en Visual Basic Ricardo Rodríguez García

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Estructuras de control

Creación de Scripts. Qué es un script? Como funciona un shell script en Linux?

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Computadora y Sistema Operativo

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Curso ICA de: LINUX BÁSICO

Manual de turbo pascal

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

PROGRAMACION EN INTERNET

El lenguaje C. 1. Identificadores, constantes y variables

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Estatutos de Control C# Estatutos de Decisión (Selección)

043 - IFC07CM16. ADMINISTRACIÓN DE SISTEMAS OPERATIVOS CON POWERSHELL Y BASH: COMANDOS Y SCRIPTS

Programación SHELL. Resumen de Programación en Shell. Álvaro Tomás Marín Vílchez

Conocer los tipos de esquemas condicionales. Entender su funcionamiento y sus diferencias. 1. Introducción. 3. Esquemas condicionales en C

Curso PHP & MYSQL PARA JOOMLA

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

SISTEMAS OPERATIVOS MONOPUESTO 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA

Técnicas de Programación

Computación II. Introducción a Visual Basic

El shell de GNU/Linux

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Línea de órdenes o shell *

ESTRUCTURAS REPETITIVAS

Qué es un programa informático?

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

Prácticas de Fundamentos del Software

Unidad II: Análisis semántico

GNU/Linux desde la línea de comandos. Pablo Garaizar Sagarminaga (txipi) Alvaro Uría Avellanal (Fermat)

Temario Linux Básico para Web

1 La línea de comandos

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Programación: QBASIC

Comencemos a programar con. Entrega 10. Estructuras de Control II

III. Generación de Código orientado a objetos

Estructuras de Control

Tema: Entorno a C# y Estructuras Secuenciales.

Transcripción:

PROGRAMACIÓ E SHELL DE LI UX. Mª Dolores Carballar Falcón 28935146 1 1. I TRODUCCIÓ. Este manual de Shell de Linux va dirigi a to principiante que desee introducirse en el mun de los scripts de este sistema operativo. Describe, de una forma no muy detallada la construcción de estas herramientas del programar, sin entrar en profundidad en comans propios del lenguaje. Debi al nivel inicial del que se parte, puede estar dirigi a alumnos de 4º ESO de la asignatura Informática Aplicada, sien de introducción a la teoría de la programación. Indudable es su aplicación para alumnos de ciclos formativos de informática tanto de gra medio ( módulo de Sistemas Operativos Monopuesto ) como en los de gra superior ( módulos de Sistemas Informáticos Multiusuario y Monousuario de ASI y Sistemas Informáticos Multiusuario y en Red de DAI). 2. QUÉ ES U SCRIPT? QUÉ ES EL SHELL? Los scripts son guiones que contienen una serie de órdenes y estructuras organizadas secuencialmente. Principalmente, presentan las siguientes características: Se generan con gran facilidad y son bastantes funcionales. Se ejecutan de forma lineal-secuencial orden tras orden. Los lenguajes de scripts son interpretas, no compilas; lo que quiere decir que sus órdenes secuenciales son interpretadas por un sistema o programa padre. Actualmente, son muy conocis lenguajes-scripts como JavaScript, PHP, ASP, etc para el desarrollo de webs. El concepto de los scripts en linux, es bastante análogo al de los ficheros por lotes (.bat) de MSDOS, sien los scripts bastante más potentes por la cantidad de estructuras, bucles, y demás recursos que permiten utilizar. El Shell es la interfaz con la que el usuario-programar se comunica con el sistema operativo directamente. Principalmente, es el elemento encarga de las siguientes funciones: Interpretar comans: acepta comans y los ejecuta; si se trata de comans de los usuarios, como los scripts, los envia al Kernel para que sea éste quien los ejecute y procese. Actuar como un intérprete de programación de un lenguaje de alto nivel. Existen distintos tipos de Shell, cada uno con una sintaxis diferente, pero con la misma filosofía: sh, csh, bash y tcsh.

2 3. CÓMO TRABAJO CO EL SCRIPT? La primera tarea, será crear el script utilizan para ello el editor que acompaña a Linux denomina vi. Este editor presenta una interfaz interesante en mo texto, a la que hoy en día no estamos muy acostumbras. Existe una versión mejorada, que se denomina vim, pero que igualmente, sigue sien textual. Podemos usar otros editores como gedit (interfaz gráfica), emacs, kwrite, etc aunque se corre el riesgo que no las encontremos en todas las distribuciones Linux. Para generar el script, supongamos con vi, bastaría con ejecutar en el prompt: vi nombrefichero y nos saldría una pantalla como la de la imagen para escribir el cuerpo del script. Para añadir el texto del script, deberíamos pulsar la tecla i (de INSERTAR). Finalmente, para salir, guardan los cambios, bastaría con pulsar ESC, :wq. Si se desea abrir de nuevo el archivo, basta con ejecutar de nuevo vi nombrefichero. Para ejecutar el script, se presentan s opciones: a) Asignarle el permiso de ejecución al fichero, mediante la sentencia: chmod 777 nombrefichero, que otorga permisos de lectura, escritura y ejecución al fichero. Posteriormente, ejecutaríamos ruta/nombrefichero; si el fichero está en el directorio actual, bastaría con poner./nombrefichero. b) Ejecutar la siguiente instrucción: bash nombre_fichero. 4. ELEME TOS DEL LE GUAJE SCRIPT DE PROGRAMACIÓ E SHELL LI UX. Entrecomillas: existen de tres tipos: - Comillas simples: para indicar caracteres literales. - Comillas bles: para asignar un string a una variable. - Comillas invertidas: ` ` para que se evalue su conteni y que el resulta sea devuelto como el de una variable. Caracteres especiales: - ; para separar comans escritos en la misma línea - # para incluir comentarios

3 - * cadena de caracteres. (En expresiones regulares se traduce como 0 o más veces) -? sustituye un carácter. ((En expresiones regulares se traduce como 0 o 1 vez) - + en expresiones regulares, se traduce como 1 o más veces. - ~ la ruta del home del usuario. Parámetros: pasas al programa principal, para luego operar con ellos. Se utilizan dentro del script, mantenien la posición en la que se incluyen cuan se invocan. Existen la siguiente nomenclatura: - $1 $9: parámetros posicionales. - $* : tos los parámetros pasas. - $#: número total de parámetros pasas. - $0: nombre del script. Variables: son un trozo de memoria en el que se almacena un dato. Sirven como enlace entre el usuario remoto y el programa y se pueden usar con la ventaja de no tener que definirlas antes de ser utilizadas en cualquier parte del script. A nivel de creación, existen s tipos: - Variables de entorno o del sistema, son las que crea el sistema. Normalmente, vienen escritas en mayúsculas y se conoce su valor ejecutan echo $NOMBREVARIABLE. Algunas son : $LOGNAME, $SHELL, $HOME, etc. - Variables de usuario. Para crear las variables, se usa la sintaxis nombrevariable=valordatos, nde nombrevariable es el identificar de la variable y valordatos es el conteni que se almacenará. Para conocer el conteni de las variables, se precede el nombre de la variable de un signo $, incluida en una expresión de impresión por pantalla con el coman echo. Expresiones: existen tres tipos de expresiones fundamentales en Linux: - Expresiones regulares: son patrones que nos permiten buscar un texto forma por metacaracteres y caracteres ordinarios. Por ejemplo, un. es un metacarácter que se traduce como cualquier carácter. - Expresiones aritméticas: son evaluadas por el Shell con el coman expr para realizar operaciones de suma +, resta -, división / y multiplicación \* (Se debe tener especial cuida en la sintaxis, ya que cada término especifica lleva un espacio). - Expresiones condicionales: son evaluadas por el Shell. Se pueden comparar: enteros, strings, existencia de ficheros y directorios, permiso de acceso a ellos, etc. Este tipo de instrucciones de control tienen la finalidad de ramificar la ejecución de sentencias del

4 script, en base a una variable u otro elemento en cualquier otro tipo de lenguaje. Para evaluar una condición podremos usar: a) test <expresión> b) if [ condición ] En caso de que la expresión sea cierta y se cumpla, ésta devolverá un cero; en caso contrario, devolverá cualquier otro valor, distinto de cero. Posibles expresiones para condicionales son: 1. Para ficheros: -r fichero si es un fichero con permiso de lectura -w fichero si es un fichero con permiso de escritura -x fichero si es un fichero con permiso de ejecución -b fichero si es un fichero de dispositivo de bloque -c fichero si es un fichero de dispositivo de caracteres -f fichero si es un fichero regular -d directorio si es un directorio -s fichero si es un fichero y tiene tamaño mayor que cero -S fichero si existe el fichero y es un socket 2. Para cadenas y enteros: -z cadena verdadero si la longitud de cadena es cero -n cadena verdadero si la longitud de cadena es distinto de cero. -eq verdadero si s números enteros son iguales -ne verdadero si s números enteros son distintos -gl verdadero si el primer número es mayor que el segun -ge verdadero si el primer número es mayor o igual que el segun -lt verdadero si el primer número es menor que el segun -le verdadero si el primer número es menor o igual que el segun = verdadero si las s cadenas son iguales (ojo con los espacios)!= verdadero si las s cadenas son distintas cadena verdadero si la cadena no es nula 3. Operares lógicos: AND o && o a verdadero si ambas son verdaderas OR o o o verdadero si una de las expresiones es cierta

5 NOT o!= verdadero si la expresión no es cierta Sentencias if < condición> then else fi if < condición> then elif elif fi case valor_variable in 1) Instruccion1; instruccion2; instruccion3; 2) Instruccion1; instruccion2; instruccion3; 3) Instruccion1; instruccion2; instruccion3; *) Instruccion1; instruccion2; instruccion3; esac Instrucciones iterativas while <condición> <instrucciones> until <condición> <instrucciones> for variables in var1 var2 var3 <instrucciones> Funciones: las funciones son pequeños trozos de código que cumplen una determinada función. Se sitúan en el script de forma independiente, y sólo se ejecutan si en el código principal se hace una llamada a ellas. A las funciones se les pueden pasar parámetros de la misma forma que al programa principal, luego podemos operar con ellos con las variables $1, $2, $3, function nombrefuncion(){ Instrucciones }

La sintaxis de la función es la siguiente: Otras instrucciones - Coman select: para crear menús interactivos. - Break y continue: la instrucción break finaliza la iteratividad o repetición del bucle mas interior salien por su ; aunque la condición de ese bucle se cumpla, éste se romperá y saldrá forza por el coman break. El coman continue causa la ejecución del bucle. - Exit: finaliza el script. - Ejecutar un coman sin crear un nuevo proceso, con la sentencia exec coman. Ejemplo de script: Muestra la tabla de multiplicar del número pasa por parámetro. n=0 while [ $n le 10 ] result=`expr $n \* $1` echo $1 * $n = [ $result ] n=`expr $n 1 ` 6 5. BIBLIOGRAFÍA. Configuración de sistemas Linux. Daniel L. Morrill, Ed. Anaya Multimedia, 2002.