Cátedra de Sistemas Operativos

Documentos relacionados
Inmersión Linux: de 0 a 100 en 30 Horas Tema 4: Shell Scripting. J. Félix Ontañón

El entorno de programación UNIX. CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR

BASH Scripting. Contenidos. BASH: Bourne-Again SHell. Hola mundo!

Taller de programación shell

Objetivos y Temario CURSO LINUX. PRINCIPIOS BASICOS

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

Administración UNIX: Programación en bash

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

Shell Power!!! Comandos básicos de consola

Bloque II: Programación orientada al sistema

Linux 101 Explorando la línea de comandos

Sistemas Operativos. Bourne Again Shell. Dr. Wenceslao Palma M.

Linux Principios básicos de uso del sistema [4ª edición]

bash Scripting 31 de mayo de 2007

Shell Script Sistemas Operativos III - ITS EMT - CETP

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.

Programación shell-scripts 1 LA SHELL

Administración de Servidores y Redes LINUX

Sistemas Operativos sesión 13: shell-scripting

Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.

PROGRAMACIÓN DEL INTÉRPRETE DE COMANDOS DE UNIX/LINUX

INDICE. XV Agradecimientos. XIX Como leer este libro

Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.

Shell scripting en Linux

El shell de GNU/Linux

Fedora Core GNU/LINUX

Avalon Consultores, C.A. - RIF: J URL:

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

This obra by Sergio Belkin is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos.

banner - Produce una salida en forma de carátula banner [-w [n] ] cadenas banner "Mi caratula por impresora" lpr

ARQUITECTURA DE COMPUTADORES

Práctica 2.3 Comandos en Linux

Bash scripting. Pablo Garaizar Sagarminaga

Sesión 1. Comandos básicos. Curso 09/10. Fernando Rincón Escuela Superior de Informática Universidad de Castilla-La Mancha

Nociones de informática. Qué es una computadora? GNU/Linux. Lo mínimo que hay que saber para empezar a trabajar con una computadora del aula

ARQUITECTURA DE COMPUTADORES


SILLABUS CURSO : LINUX

Shell scripting en Linux. Introducción

Taller de programación shell

PROGRAMACIÓ E SHELL DE LI UX.

UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS

El sistema operativo Linux

Segundo encuentro cercano con un SO

Nombre:... Fecha: / 12 /2010

Shell Scripting II II

I. DATOS DE IDENTIFICACIÓN. 2. Programa (s) de estudio: (Técnico, Licenciatura (s) Ingeniería Electrónica 3. Vigencia del plan:

Introducción a GNU/Linux y la Programación

Entorno Linux / Unix. Alexis Quesada Arencibia José Miguel Santos Espino Francisco J. Santana Pérez Sistemas Operativos 1

Comandos más utilizados en Linux

Creación De Scripts Ejecutables

Resumen de comandos usuales de Unix y uso básico del shell bash

Introducción a Linux. II.

Comandos Linux. Recopilación de algunos de los comandos LINUX más usados.

PROGRAMACIÓN DE LA SHELL DE UNIX/LINUX

PROGRAMACIÓN DEL SHELL

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

Primeros pasos en Linux TLSAX. Presentación N 3 - Glosario

TP N 4 Redirección de entrada y salida estándar

Línea de comandos o consola o shell

Taller de Sistemas Operativos I Red Hat Academy. Sesión 07a El intérprete BASH y escritura de scripts en GNU/Linux

apt cache search (texto) Muestra una lista de todos los paquetes y una breve descripción relacionado con el texto que hemos buscado.

2 Comandos para imprimir lpr le lpr -P printer -h -s le lpq imprime le en la impresora por defecto imprime le en la impresora printer sin pagina de ca

descripción de algunos comandos. He cambiado tambien el orden de acuerdo con el seguido en las clases los últimos años. Dedico este texto a los

Shell Scripting II II

Estructuras de Control. Cecilia Curlango Rosas

Tema 7:Línea de ordenes del sistema operativo.

Comandos Linux Ayuda. Archivos y directorios

Capítulo 3. La shell y herramientas

Introducción a Linux. El regreso a los años 70: la consola (I)

Comandos Básicos Jornadas Octubre 2009 GUL UC3M Tania Pérez

LINUX - El intérprete de órdenes II

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

Linux Completo (Versión Ubuntu 9)

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

Uso básico de la terminal

Lista de comandos de Linux

Es la estructura que permite ejecutar los comandos solamente si se cumple una determinada condición. La sintaxis más usual:

Área de Arquitectura y Tecnología de Computadores. Universidad Carlos III de Madrid SISTEMAS OPERATIVOS. Ejercicio. Programación en bash

Linux Completo (Versión Ubuntu 9)

Introducción a GNU/Linux 20/08/2015

Comando Sintaxis y Descripción Ejemplo Opciones

Auxiliar 1 CC31A. Comandos útiles: Profesor: José Miguel Piquer

Unidad 5. Gestión remota GNU/Linux. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero

Sesión 3. Comandos avanzados. Curso 09/10. Mª José Santofimia Escuela Superior de Informática Universidad de Castilla-La Mancha

Comandos Básicos Jornadas Marzo 2009 Universidad Carlos III de Madrid Tania Pérez Asensio

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

cursointrocomp conceptos comandos scripts instrucciones progs instrucciones progs d) Solo con un comando, cambiarse al directorio conceptos.

Laboratorio de Sistemas Operativos. Ingenierías Técnicas en Informática de Sistemas y Gestión 2006/2007

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

INTRODUCCIÓN A LA SHELL DE UNIX/LINUX

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores

Introducción a Linux

Rawel E. Luciano B Sistema Operativo III. 6- Creación de Script. José Doñe

Programación de sistemas El sistema de archivo de UNIX

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

Transcripción:

Departamento de Ingeniería e Investigaciones Tecnológicas Cátedra de Sistemas Operativos Jefe de Cátedra: Jefe de trabajos prácticos: Autor: Fabio Rivalta Fernando Boettner Ramiro de Lizarralde Año: 2008 Revisión: 2015 Guía sobre Shell Scripts Página 1 de 7

Script Archivo de texto con una secuencia de comandos, que es ejecutada paso a paso por un programa que sepa interpretar esos comandos. Se llama comúnmente intérprete de comandos. Ejemplos: Shell (sh), Bourne Shell (bsh), Bourne Again Shell (bash), Korn Shell (ksh), C Shell (csh), Command.com (intérprete de DOS), AWK, PHP, PEARL (aunque estos últimos tres no son intérpretes propiamente dicho, pero sí son lenguajes dinámicos y/o interpretados que pueden funcionar como un shell script). Ejecución del script $sh [parámetros del sh] nombre_script [parámetros del script] $nombre_script [parámetros del script] Previamente, se le deben dar los permisos necesarios, a través del comando chmod. Magic number Especifica con qué intérprete se debe ejecutar el script. Debe estar sí o sí en los dos primeros caracteres del archivo del script. #! /bin/sh #! /bin/ksh #! /bin/awk Parámetros del Script Parámetros, del 1 al 9 $1 $2 $9 Si hay más de 9 {$nn} Variables shift [n] Las variables son dinámicas, así que no tienen tipo de dato definido ni necesitan declaración. Se crean con la primer referencia a la misma. Por lo tanto es conveniente inicializarlas con un valor del tipo de datos con que se la quiere utilizar. var=valor echo $var Variables especiales $0 nombre del archivo ejecutable $* línea completa de la llamada $@ lista de todos los parámetros ($* menos $0) $# cantidad de parámetros $? Valor de retorno del último comando ejecutado $$ Process ID (PID) Página 2 de 7

Estructuras de control y Comandos de Shell if condiciones; then [elif condiciones; then ] [else ] fi for var in word; do done while condiciones; do done until condiciones; do done case var in pattern1) ; pattern2) ; esac test expresión [[ expresión ]] exit read var echo string set opciones unset opciones trap (manejo de señales) wait (manejo de procesos) sleep n getopts. Manejo básico de parámetros del script, no soporta parámetros largos en formato GNU (--help) Expresiones ( expresión )! expresión Página 3 de 7

expresión1 && expresión2 expresión1 expresión2 Funciones Definición: [function] nombre_función () { } Llamada: comandos [return n] nombre_función [lista de parámetros] Parámetros de la función Se referencian (dentro del scope de la función) con $n de la misma forma que los parámetros del script. Entrecomillado Comillas simples verticales ' : texto fuerte. En este string el Shell no realiza reemplazos de variables. x=234 y='790$x' echo $y 790$x Comillas dobles " : texto débil. En este string el Shell realiza reemplazos de variables. x=234 y="790$x" echo $y 790234 Comillas francesas ` : ejecución de comandos. En este string el Shell primero realiza reemplazos de variables y luego ejecuta el comando, guardando la salida en la variable. FechaActual=`date` dir=`ls la` for i in `ls 1` Caracter de escape: \ Nota: No hay operador de concatenación de strings, simplemente se escriben las cadenas en forma consecutiva. Página 4 de 7

Redireccionamiento (pipe) Redirecciona la salida de un comando a la entrada de otro getent passwd grep docentes cut d: -f1 sort > arch Redirecciona salida estándar (stdout) a un archivo, truncándolo si ya existe ls l > dir.txt >> arch Redirecciona salida estándar (stdout) a un archivo, agregando al final del archivo date > dir.txt ls l >> dir.txt 2> arch Redirecciona la salida de errores (stderr) find /proc -name sys 2> /dev/null 2>&1 Redirecciona la salida de errores (stderr) al mismo archivo que la salida estándar find /proc -name sys > busca.txt 2>&1 < arch Redirecciona el contenido del archivo a la entrada (stdin), tal como si se hubiera escrito por teclado echo google.com > buscar.txt echo gmail.com >> buscar.txt echo yafuiste.com.ar >> buscar.txt nslookup < buscar.txt Nota: archivo puede ser cualquier tipo de archivo, por ejemplo /dev/null, un fifo, una terminal, etc. Página 5 de 7

Comandos externos al Shell Lista de algunos comandos que no pertenecen a Shell, pero se utilizan intensivamente en la programación de Shell scripts. ls Lista contenido de un directorio grep Busca expresiones en un archivo echo Devuelve a stdout el string pasado por parámetro cat Concatena archivos y los muestra en la salida a stdout cut Corta cadenas wc Cuenta líneas o caracteres find Busca archivos uniq Elimina duplicados sort Ordena una lista head Retorna las líneas al comienzo de un archivo tail Retorna las líneas al final de un archivo date Devuelve/setea la fecha y hora more Paginación de salida less Paginación de salida pwd Devuelve el directorio actual nslookup Realiza una consulta a un DNS netstat Muestra el estado de las conexiones de red ping Envía paquetes ICMP a un host ifconfig Muestra la configuración de las interfaces de red ps Lista los procesos en ejecución top Lista los procesos en ejecución tar Empaqueta archivos gzip Comprime archivos gunzip Descomprime archivos awk Filtro complejo (ver apunte de la cátedra) sed Manipulación de texto ssh Terminal para ingresar remotamente a un equipo ftp Transfiere archivos entre equipos remotos scp/sftp Transfiere archivos entre equipos remotos en forma segura passwd Cambia el password del usuario su Cambia la sesión actual a otro usuario sudo Ejecuta un comando como si lo hiciera el usuario root man Muestra ayuda sobre comandos, archivos de configuración, funciones de programación C, etc. crontab Agenda la ejecución de tareas Página 6 de 7

getopt Manejo avanzado de parámetros del script, soporta parámetros largos GNU (--help) file Analiza el tipo de archivo nohup Lanza un proceso en forma de demonio, para que no se cierre al finalizar el shell kill Envío de señales a procesos. La señal por default es SIGTERM para finalizar el proceso. Soporta Jobs, se usa con %n indicando el nro de job, en vez del PID del proceso. Página 7 de 7