Shell scripting en Linux. Introducción
|
|
|
- Eva Soler Farías
- hace 9 años
- Vistas:
Transcripción
1 Shell scripting en Linux Roberto Gómez Cárdenas Lámina 1 Introducción Shell Interfaz con el usuario Interprete de comandos Aspectos de programación Shell script Ejecución automática de comandos Procesamiento en batch de comandos Tareas repetitivas Lámina 2 Dr. Roberto Gómez Cárdenas 1
2 Shells en Linux Existen varios disponibles Ejemplos Bourne shell: sh Korn shell: ksh C shell: csh Bash: bsh El shell bash es el más popular. Lámina 3 El Bourne Again Shell Abreviado shell Es el shell por default en la mayoría de las distribuciones Linux También usado en todas las plataformas Unix Contiene características de ksh, csj, sh, etc Lámina 4 Dr. Roberto Gómez Cárdenas 2
3 Los scripts Archivos que contienen comandos a ser ejecutados por el shell. Puede ser cualquier comando que pueda teclearse a partir del prompt: comando que invoque una utilidad Unix, (vi, netscape, etc) un programa compilado otro script Aparte de estos comandos existe un grupo de comandos, (los comandos de control de flujo), que fueron diseñados para ser usados en scripts. Lámina 5 Características programación bash Soporta varías características de programación Variables, arreglos, ciclos, operadores de decisión, funciones, parámetro posicionales Pipes, redirección entrada/salida Características varias Expansiones, control de trabajos (jobs) Comandos construidos a su interior read, echo, source, alias Lámina 6 Dr. Roberto Gómez Cárdenas 3
4 Un script shell muy simple # Archivo: p1 # Uses the cat command to display a file echo Ejemplo de script echo n Fecha: date echo Usuarios conectados who echo Contenido directorio trabajo ls -l Lámina 7 Ejecutando un script shell Primer método $ chmod u+x catfile.sh $./catfile.sh file1 Segundo método $ bash catfile.sh file1 Lámina 8 Dr. Roberto Gómez Cárdenas 4
5 Variables Posible usar variables como en cualquier lenguaje de programación. Valores siempre almacenados como strings Existen operadores matemáticas en el lenguaje shell que convertirá variables a número para cálculos No es necesario declarar una variable Con solo asignar un valor a su referencia, esta será creada Ejemplo, nombre archivo: sc1 STR= Hello World! echo $STR Lámina 9 Carácterísticas variables Las variables no cuentan con un tipo. Variables pueden tomar un número o un carácter. cont = 0 cont = domingo El carácter \ es el carácter de escape y preserva el valor literario del carácter que le sigue $ ls \* ls *: No such file or directory $ Lámina 10 Dr. Roberto Gómez Cárdenas 5
6 Apostrofes y comillas Cuando se asignan cadenas de caracteres que contiene espacios o caracteres especiales, la cadena debe estar encerrada entre apostrofes o comillas El uso de comillas (partial quoting) dentro de una cadena de caracteres permitira que cualquier variable dentro de las comillas sea interpretada $ var= test string $ newvar= Value of var is $var $ echo $newvar Value of var is test string $ Lámina 11 Apostrofes y comillas El uso de apostrofes (full quoing) dentro de una cadena de caracteres no permitirá una interpretación de variables $ var= prueba 1 $ newvar= El valor de var es: $var $ echo $newvar El valor de var es: $var $ Lámina 12 Dr. Roberto Gómez Cárdenas 6
7 Ejemplos $ pippo= pluto $ pippo =pluto $ ls [Pp]* $ ls [Pp]* $ ls [Pp]* error no resuelto $ var= (]\\{}\$\ $ echo $var $ echo $var $ echo $var $ echo \z # z $ echo \\z # \z $ echo \\z # \\z Lámina 13 Más ejemplos $ pippo= cat $ echo comando = \ $pippo \ comando = cat $ echo comando = \ $pippo \ comando =\ $pippo \ $ echo comando = $pippo comando = $pippo $ Lámina 14 Dr. Roberto Gómez Cárdenas 7
8 El comando export Lámina 15 Comando activa una variable en el ambiente de tal forma que sea accesible por el proceso hijo. Ejemplo $ x=hello $ bash # correr un shell hijo $ echo $x # ningún valor en x $ exit # regresar al padre $ export x $ bash $ echo $x Hello # aquí esta el valor $ El comando export Si el proceso hijo modifica la variable, no se modificará el valor original asignado por el proceso padre. Esto se puede verificar de la siguiente forma: Lámina 16 $ x=cachafas $ echo $x cachafas $ exit $ echo $x Hello $ Dr. Roberto Gómez Cárdenas 8
9 Variables de ambiente Existen dos tipos de variables Variables locales Variables de ambiente Variables ambiente Son inicializadas por el sistema y se pueden listar con el comando env Almacenan valores especiales Lámina 17 Ejemplo salida comando env $ env HOSTNAME=localhost PVM_RSH=/usr/bin/rsh SHELL=/bin/bash TERM=xterm HISTSIZE=1000 USER=root LS_COLORS=no=00:fi=00:di=00;34: ln=00;36:pi=40;33:so=00;35 PVM_ROOT=/usr/share/pvm3 USERNAME=root MAIL=/var/spool/mail/root PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: INPUTRC=/etc/inputrc PWD=/root LANG=en_US.UTF-8 : : : Lámina 18 Dr. Roberto Gómez Cárdenas 9
10 Ejemplo salida comando env : : : SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SHLVL=1 HOME=/root BASH_ENV=/root/.bashrc LOGNAME=root LESSOPEN= /usr/bin/lesspipe.sh %s DISPLAY=:0.0 G_BROKEN_FILENAMES=1 XAUTHORITY=/root/.xauthauuuYC _=/bin/env $ Lámina 19 Algunas variables de ambiente LOGNAME: contiene el nombre del usuario HOSTNAME: contiene el nombre de la computadora MACHTYPE: hardware del sistema PS1: secuencia caracteres mostrados antes del prompt UID: uid del usuario SHLVL: el nivel del shell Lámina 20 Dr. Roberto Gómez Cárdenas 10
11 Variables predefinidas para lectura de parámetros en la línea de comandos Variable $? $0 $1 a $9 $# $* $$ $! Significado Valor de salida del último comando, 0 si todo salió bien nombre del script argumentos que se pasaron al script numero argumentos pasados al script lista de argumentos a partir de $1 numero pid del proceso actual número pid del proceso hijo recordar que para desplegar su valor es necesario usar el comando echo Lámina 21 Ejemplo de uso variables parámetros $ more p2 echo Nombre del script: $0 echo Numero argumentos: $# echo Lista de argumentos: $* echo pid del proceso actual: $$ echo pid del proceso hijo: $! $ chmod u+x p2 $./p2 uno dos tres Nombre del script:./s1 Numero de argumentos: 3 Lista de argumentos: uno dos tres pid del proceso actual: 3818 pid del proceso hijo: $ Lámina 22 Dr. Roberto Gómez Cárdenas 11
12 El prompt Símbolo que indica que el shell esta listo para recibir instrucciones. Existen prompts por defeault, dependiendo del shell y tipo de unix utilizado $ % # bourne shell o korn shell c shell o tc shell representa que el usuario es root Es posible que un usuarios defina su propio prompt a través de la variable de ambiente correspondiente En el caso de Linux es PS1, por ejemplo el valor PS1 = '\[\u@\h \W]$ ' produce el siguiente prompt [toto@localhost bin]$ Lámina 23 Opciones para configurar el prompt Carácteres \u \W \w \t \d \s \h \# \! \$ \nnn Significado Nombre usuario Directorio trabajo Ruta completa de trabajo La hora actual La fecha actual El nombre del shell El nombre de la máquina actual El número de comando La posición en el history Carácter de prompt según el shell Carácter nnn (en octal) Lámina 24 Dr. Roberto Gómez Cárdenas 12
13 Ejercicio Modifique su variable de ambiente prompt de tal forma que despliegue un prompt con las siguientes características: Muestre el nombre del usuario La hora entre parantesis, precedida y seguida de un blanco El carácter dos puntos : El numero de instrucción El carácter mayor que > Un ejemplo de lo anterior se presenta a continuación: rogomez (13:34) :23> Lámina 25 Solución ejercicio Lámina 26 Dr. Roberto Gómez Cárdenas 13
14 Comando exit Puede ser usado para terminar un script También puede regresar un valor, el cual esta disponible al padre del proceso Sintaxis exit nnn donde nnn es el status de salida puede tomar un valor entre 0 y 255 es el programador el que decide que número usar Lámina 27 Comando exit Cuando un script termina con exit que no cuenta con parámetro el status regresado es el status con el que terminó el último comando ejecutado en el script. Lámina 28 COMMAND_1... # exit with status of last command. COMMAND_LAST exit COMMAND_1... # exit with status of last command. COMMAND_LAST exit $? Dr. Roberto Gómez Cárdenas 14
15 Comando read Permite solicitar datos de entrada y almacenarlos en una variable. Ejemplo, nombre archivo: leer #Nombre archivo: renombra echo -n De el nombre del archivo: read original echo n De el nuevo nombre: read nuevo mv $original $nuevo echo El archivo $original ahora se llama $nuevo" Lámina 29 Opciones comando read read s No hace un eco de la entrada read nn Solo acepta n caracteres como entrada read p mensaje Despliega mensaje read tt Acepta entrada por T segundos Lámina 30 Dr. Roberto Gómez Cárdenas 15
16 Ejercicio read Crear programa r1 Ejecutar programa echo De una frase read frase echo $frase Substituir la línea read frase por read s (guardar, ejecutar y conclusiones) read n5 (guardar, ejecutar y conclusiones) read p PRUEBA: (guardar, ejecutar y conclusiones) read t2 (guardar, ejecutar, no teclear nada en 3 segs y conclusiones) Lámina 31 Susbtitución comandos El backquote ` es diferente del single quote El primero es usado para la sustitución del comando `command` Ejemplo 1: Ejemplo 2 $ LIST=`ls` $ echo $LIST hello.sh read.sh PS1= `pwd` > /home/rinaldi/didattica/ > Lámina 32 Dr. Roberto Gómez Cárdenas 16
17 Susbtitución comandos Se puede llevar a cabo la substitución con el comando $(comando) Ejemplo 1 Ejemplo 2 Ejemplo 3 Ejemplo 4 $ LIST=$(ls) $ echo $LIST hello.sh read.sh rm $( find / -name *.tmp ) ls $( pwd ) ls $( echo /bin ) Lámina 33 Ejemplo $ a=`echo Hello` $ echo $a $ echo $a $ b=`ls /home` $ echo $b $ echo $a $b $ echo $a $b Lámina 34 Dr. Roberto Gómez Cárdenas 17
18 Operadores aritméticos Operador + - * / ** % Significado suma resta multiplicación división exponenciación modulo Lámina 35 Enunciado let Lámina 36 Usado para llevar a cabo funciones matemáticas $ let X=10+2*7 $ echo $X 24 $ let Y=X+2*4 $ echo $Y 32 Expresión puede ser evaluada con: $[expression] or $((expression)) $ echo $((123+20)) 143 $ VALORE=$[123+20] $ echo $[123*$VALORE] 1430 $ echo $[2**3] $ echo $[8%3] Dr. Roberto Gómez Cárdenas 18
19 Enunciados condicionales Decidir si una acción se lleva a cabo o no. Esta decisión se toma evaluando una expresión. Sintaxis básica: Lámina 37 if [ expression ]; then statements elif [ expression ]; then statements else statements fi if [ expression ]; then statements else statements fi if [ expression ]; then statements fi Una expresión puede ser Expresiones Comparación de strings Comparación numérica Operadores archivos Operadores lógicos Las expresiones deben ir entre corchetes, separadas por un espacio [ expresion ] Los operadores también deben ir separados por un espacio [ expresion1 operador expresion2 ] Lámina 38 Dr. Roberto Gómez Cárdenas 19
20 Comparativos strings Operador =!= -n -z Significado Comparar si dos strings son iguales Comparar si dos strings no son iguales Evaluar si longitud del string es mayor que cero Evaluar si longitud del string es igual a cero Ejemplo [ s1 = s2 ] [ s1!= s2 ] [ -n s1 ] [ -z s1 ] Significado Verdad si s1 es igual a s2, sino falso Verdad si es diferente a s2 sino falso Verdad si s1 no esta vacío, sino falso Verdad si la longitud de s1 es igual a cero, sino falso Lámina 39 Ejemplo expresiones strings # Archivo: checa echo -n Introduzca su nombre: " read name if [ $name = $USER ]; then echo Hola, $name. Como se encuentra hoy? else echo Usted no es $USER, quien es usted? fi Lámina 40 Dr. Roberto Gómez Cárdenas 20
21 Comparativos numéricos Operador -eq -ge -le -ne -gt -lt Significado Comparar si dos números son iguales Comparar si un número es mayor que o igual a otro Comparar si un número es menor que o igual a otro Comparar si dos números no son iguales Comparar si un número es mayor que otro Comparar si un número es menor que otro Lámina 41 Ejemplos comparativos Tomando en cuenta que n1 y n2 son dos números enteros Operador [ n1 -eq n2 ] [ n1 -ge n2 ] [ n1 -le n2 ] [ n1 -ne n2 ] [ n1 -gt n2 ] [ n1 -lt n2 ] Significado Verdad si n1 es igual a n2, falso en caso contrario Verdad si n1 es mayor o igual a n2, falso en caso contrario Verdad si n1 es menor o igual a n2, falso en caso contrario Verdad si n1 no es igual a n2, falso en caso contrario Verdad si n1 es mayor que n2, falso en caso contrario Verdad si n1 es menor que n2, falso en caso contrario Lámina 42 Dr. Roberto Gómez Cárdenas 21
22 Ejemplo # Archivo: numeros echo -n Introduzca un numero 1 < x < 10: " read num if [ $num -lt 10 ]; then if [ $num -gt 1 ]; then echo $num*$num=$(($num*$num)) else echo Mala insercion, es menor a 1! fi else echo Mala insercion, es mayor a 10! fi Lámina 43 Comparativos archivos Los más usados son: Operador -d -f -e -s -r -w -x Significado Verifica si el path es un directorio Verifica si el path es un archivo Verifica si el nombre del archivo existe Verifica si el archivo tiene una longitud mayor a cero Verifica si el archivo tiene permiso de lectura Verifica si el archivo tiene permiso de escritura Verifica si el archivo tiene permiso de ejecución Lámina 44 Dr. Roberto Gómez Cárdenas 22
23 Ejemplo Tomando en cuenta que fd es el nombre de un archivo Lámina 45 Operador [ -d fd ] [ -f fd ] [ -e fd ] [ -s fd ] [ -r fd ] [ -w fd ] [ -x fd ] Significado Verdad si fd es un directorio, falso en caso contrario Verdad si fd es un archivo, falso en caso contrario Verdad si fd existe, falso en caso contrario Verdad si la longitud del archivo fd es mayor a 0, falso en caso contrario Verdad si fd tiene permisos de lectura, falso en caso contrario Verdad si fd tiene permisos de escritura, falso en caso contrario Verdad si fd tiene permisos de ejecución, falso en caso contrario Ejemplo # Nombre archivo: copia # Script que verifica que /etc/fstab existe, si es asi # lo copia, sino indica que no existe if [ -f /etc/fstab ]; then cp /etc/fstab. echo Hecho. else echo El archivo no existe. exit 1 fi Lámina 46 Dr. Roberto Gómez Cárdenas 23
24 Ejercicio Escriba un script, de nombre respaldo, que pregunte por el nombre de un archivo El script debe verificar si el archivo existe, y crear un directorio de nombre Backup Si el archivo existe debe copiar el archivo con el mismo nombre más.bak (si el.bak ya existe debe preguntar si desea reemplazarlo) Si el archivo no existe, entonces debe salirse del script con el mensaje: El archivo <arch> no existe!!! Lámina 47 Solución ejercicio if [! d./backup ] then mkdir./backup fi read p De el nombre del archivo: a1 if [ -f $a1 ] then cp $a1./backup/$pippo.bak else echo El archivo $a1 no existe!!! fi Lámina 48 Dr. Roberto Gómez Cárdenas 24
25 Operadores lógicos Operador! -a && -o Significado Negación (NOT) de una expresión lógica AND lógico entre dos expresiones lógicas OR lógico entre dos expresiones lógicas Lámina 49 # Nombre archivo: if3.sh echo -n Enter a number 1 < x < 10: read num if [ $num -gt 1 a $num -lt 10 ]; then echo $num*$num=$(($num*$num)) else echo Wrong insertion! fi Parámetros shell Parámetros posicionales Asignados de los argumentos del shell cuando el script es invocado El parámetro posicional N puede ser referenciado como ${N}, o como $N donde N consiste de un simple dígito $0: el nombre del script corriendo $1: el primer parámetro $2: el segundo parámetro etc. Lámina 50 Dr. Roberto Gómez Cárdenas 25
26 Parámetros shell Parámetros especiales Variable $? $0 $# $* $$ $! Significado Valor de salida del último comando, 0 si todo salió bien nombre del script Arreglo de palabras conteniendo todos los parámetros pasados al script numero argumentos pasados al script lista de argumentos a partir de $1 numero pid del proceso actual número pid del proceso hijo Lámina 51 Enunciado case Usado para ejecutar enunciados basado en valores específicos. Sintaxis case $var in val1) statements;; val2) statements;; *) statements;; esac Lámina 52 Dr. Roberto Gómez Cárdenas 26
27 Ejemplo case Lámina 53 # Nombre archivo: case.sh echo -n Enter a number 1 < x < 10: read x case $x in 1) echo Value of x is 1. ;; 2) echo Value of x is 2. ;; 3) echo Value of x is 3. ;; 4) echo Value of x is 4. ;; 5) echo Value of x is 5. ;; 6) echo Value of x is 6. ;; 7) echo Value of x is 7. ;; 8) echo Value of x is 8. ;; 9) echo Value of x is 9. ;; 0 10) echo wrong number. ;; *) echo Unrecognized value. ;; esac Enunciados iteración Estructura for es usada para ciclar a través de un rango de variables. Sintaxis for var in list do statements done Lámina 54 Dr. Roberto Gómez Cárdenas 27
28 Ejemplo iteración Lámina 55 Un clásico #Nombre archivo: itera let sum=0 for num in do let sum = $sum + $num done echo $sum Listado todos los archivos del directorio actual #Nombre archivo: lista for x in * do ls -l $x sleep 1 done Enunciado while Estructura ciclo Usada para ejecutar un conjunto de comandos mientras una condición especificada es verdad Sintaxis while expression do statements done Lámina 56 Dr. Roberto Gómez Cárdenas 28
29 Ejemplo uso enunciado while # Nombre archivo: while.sh echo n Enter a number: ; read x let sum=0; let i=1 while [ $i le $x ]; do let sum=$sum+$i let i=$i+1 done echo the sum of the first $x numbers is: $sum Lámina 57 Enunciado continue Provoca un salto a la siguiente iteración del ciclo, saltando los comandos restantes. # Nombre archivo: cont.sh LIMIT=19 echo echo Printing Numbers 1 through 20 (but not 3 and 11) a=0 while [ $a -le $LIMIT ]; do a=$(($a+1)) if [ $a -eq 3 ] [ $a -eq 11 ] then continue fi echo -n $a - done Lámina 58 Dr. Roberto Gómez Cárdenas 29
30 Enunciado break Termina el cliclo (se sale de él) # Nombre archivo: break.sh LIMIT=19 echo Printing Numbers 1 through 20, but something happens after 2 a=0 while [ $a -le $LIMIT ]; do a=$(($a+1)) if [ $a -gt 2 ] then break fi echo -n $a - done echo; echo; echo exit 0 Lámina 59 Enunciado until Similar a la estructura while Cicla hasta que la condición es verdad Sintaxis until [expression] do statements done Lámina 60 Dr. Roberto Gómez Cárdenas 30
31 Ejemplo enunciado until #!/bin/bash # Nombre archivo: countdown.sh echo Enter a number: ; read x echo ; echo Count Down until [ $x -le 0 ]; do echo $x x=$(($x 1)) sleep 1 done echo ; echo GO! Lámina 61 Ejercicio Escribir un programa copiabin.sh que mueva todos los programas del directorio actual (archivos ejecutables) hacia el subdirectorio bin del directorio hogar del usuario, muestre los nombres de los que mueve e indique cuántos ha movido o que no ha movido ninguno. Si el directorio bin no existe, deberá ser creado. Lámina 62 Dr. Roberto Gómez Cárdenas 31
32 Solución ejercicio Lámina 63 # copia archivos ejecutables hacia $HOME/bin, si directorio bin no existe lo crea if [! -d $HOME/bin ] then mkdir $HOME/bin fi # copia de archivos N=0 # contador de archivos copiados for ARCH in * do if [ -x $ARCH -a -f $ARCH ] # ejecutable y archivo común (no directorio) then cp $ARCH $HOME/bin echo " $ARCH fue copiado a $HOME/bin" N=`expr $N + 1` fi done if [ $N -eq 0 ] then echo "No se copió ningún archivo" else echo "Fueron copiados $N archivos" fi Manipulación sobre strings Bash cuenta con operaciones de manipulación de strings. Operaciones Operación ${#string} ${string:posicion} ${string:posicion:long} Significado Proporciona el tamaño del string Extrae un sub-string de $string en la posición $posicion Extrae $long caracteres de un substring de $string en $posicion Lámina 64 Dr. Roberto Gómez Cárdenas 32
33 Ejemplo strings $ st= $ echo ${#st} 10 $ echo ${st:6} 6789 $ echo ${st:6:2} 67 $ Lámina 65 Dr. Roberto Gómez Cárdenas 33
Shell scripting en Linux
Shell scripting en Linux Roberto Gómez Cárdenas [email protected] http://homepage.cem.itesm.mx/rogomez Lámina 1 Introducción Shell Interfaz con el usuario Interprete de comandos Aspectos de programación
Shell scripting en Linux Roberto Gómez Cárdenas [email protected] http://homepage.cem.itesm.mx/rogomez Lámina 1 Introducción Shell Interfaz con el usuario Interprete de comandos Aspectos de programación
Shell Script Sistemas Operativos III - ITS EMT - CETP
Shell Script SHELL tiene dos formas distintas de ejecutar comandos : Archivos binarios Programas compilados y de los cuales existe un ejecutable archivos.exe ó.com en MS-DOS Archivos de texto Contienen
Que es el Shell? Kernel. Other programs. csh. bash. X window
Scripts de shell Que es el Shell? Es la interfaz entre el usuario final y el Sistema Operativo. No es el S.O. Existen múltiples versiones y podemos averiguar cual tenemos instalada haciendo: % /bin/sh
Taller de programación shell
Taller de programación shell 3 de Abril de 2004 revisión 1 Asociación de Usuarios de Software Libre de Elche http://www.kleenux.org/ Introducción: Qué es un shell? Es una parte fundamental de todo sistema
Inmersión Linux: de 0 a 100 en 30 Horas Tema 4: Shell Scripting. J. Félix Ontañón
Inmersión Linux: de 0 a 100 en 30 Horas Tema 4: Shell Scripting J. Félix Ontañón Indice Indice Espacio de usuario y espacio de kernel Qué es una shell? Breve historia Comandos básicos
PROGRAMACIÓN DEL INTÉRPRETE DE COMANDOS DE UNIX/LINUX
PROGRAMACIÓN DEL INTÉRPRETE DE COMANDOS DE UNIX/LINUX Sesión 16/05/2016 Desarrollar aplicaciones sencillas Scripting original: juntar varia órdenes e invocar su ejecución secuencial bajo un sólo comando.
Sistemas Operativos sesión 13: shell-scripting
Sistemas Operativos sesión 13: shell-scripting Grado en Ingeniería Informática Universidad Carlos III de Madrid Bibliografía Bash Programming: http://www.tldp.org/howto/bash-prog-intro-howto.html Advanced
$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
PROGRAMACIÓN DEL SHELL
Área de Ingeniería Telemática Departamento de Ingeniería de Sistemas y Automática Escuela Superior de Ingenieros Universidad de Sevilla PROGRAMACIÓN DEL SHELL 1. OBJETIVO El objetivo es introducir la programación
Shell Power!!! Comandos básicos de consola
Shell Power!!! Comandos básicos de consola Wences René Arana Fuentes [email protected], @debian.org.gt 18 de julio de 2009 Indice 1 Introducción CLI Indice 1 Introducción CLI 2 Introducción Tipos de shells
Administración UNIX: Programación en bash
Administración UNIX: Programación en bash Antonio LaTorre [email protected] Septiembre 2014 [email protected] Administración UNIX: Programación en bash 1/1 bash (Bourne-Again Shell) Shell de texto basada
BASH Scripting. Contenidos. BASH: Bourne-Again SHell. Hola mundo!
BASH Scripting [email protected] Contenidos Comandos Varibles Control de flujo Sistema de colas Bibliografía BASH: Bourne-Again SHell Intérprete de comandos más habitual en los sistemas operativos
Programación shell en Unix/Linux ksh, bash, sh (con ejercicios corregidos) (4ª edición)
Introducción 1. Definición del shell 21 2. Características de un intérprete de comandos 21 3. Intérpretes de comando (shells) 22 3.1 Historia 22 3.2 Con qué shell hay que programar? 23 3.2.1 Scripts de
Sistemas Operativos. Bourne Again Shell. Dr. Wenceslao Palma M.
Sistemas Operativos Bourne Again Shell Dr. Wenceslao Palma M. Shell - Intro Shell es el intérprete de comandos. Mas allá de ser el intermediario entre el sistema operativo y el
PROGRAMACIÓ E SHELL DE LI UX.
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
Tema: Introducción a los comandos Linux
1 Implementación de redes Linux, Guía 1 Facultad: Ingeniería Escuela: Computación Asignatura: Implementación de Redes Linx Tema: Introducción a los comandos Linux Contenido En la presente practica de laboratorio
EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS
EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS Ejercicio 1: Hacer un script que muestre por pantalla el mensaje Hola mundo. Ejecútalo de las dos formas vistas Ejercicio 2: Realizar otro script que cree
Creación De Scripts Ejecutables
Creación De Scripts Ejecutables Este manual se hace con la finalidad de dar una explicación paso a paso de cómo crear scripts que pueden ejecutar diversas tareas de acuerdo al contenido del texto del guión.
Estructuras de Control. Cecilia Curlango Rosas
Sintáxis -- while -- Ejecuta una serie de mandos mientras sea verdadera una condición. while condición do enunciados done Ejemplo -- while -- #!/bin/bash echo "Adivina mi animal favorito?" read animal
LINUX - El intérprete de órdenes I
LINUX - El intérprete de órdenes I Objetivo: Se pretende introducir al alumno en el uso del intérprete de órdenes bash de LINUX. El intérprete de órdenes Como todos los sistemas operativos de tipo UNIX,
Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González [email protected] Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Objetivos y Temario CURSO LINUX. PRINCIPIOS BASICOS
Objetivos y Temario CURSO LINUX. PRINCIPIOS BASICOS OBJETIVOS Este curso sobre GNU/Linux se dirige a cualquier informático que desee dominar los principios básicos de este sistema operativo o que quiera
Programación shell-scripts 1 LA SHELL
Programación shell-scripts 1 LA SHELL Un gran número de utilidades y herramientas de administración están realizadas mediante ficheros de ordenes del interprete de comandos de Unix (Shell). A lo largo
Introducción a Python. Cecilia Manzino
Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede
Introducción a Linux. El regreso a los años 70: la consola (I)
Qué es y cómo acceder a una consola? Sintaxis general de parámetros en BASH Encadenamiento de comandos Otros comandos GNU Editores de textos Qué es y cómo acceder a una consola? Una consola es una terminal
Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.
Facultad de Ingeniería Universidad de Buen Aires 75.08 Sistemas Operativ Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio Shell Scripting I Qué es Unix? Evolución desde Multics Sistemas Abiert Sabores Dennis
Tema: Uso de Bash en Linux.
1 Tema: Uso de Bash en Linux. Facultad: Ingeniería Escuela: Electrónica Asignatura: Arquitectura de computadoras Lugar de ejecución: Lab. de arquitectura de computadoras, edif. de electrónica. Objetivo
Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.
Facultad de Ingeniería Universidad de Buenos Aires 75.08 Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio Shell Scripting I Qué es Unix? Evolución desde Multics Dennis Ritchie Sistemas Abiertos
Prácticas de Fundamentos del Software
Prácticas de Fundamentos del Software Módulo I. Órdenes UNIX y Shell Bash Sesión Nº5: Expresiones con variables y expresiones regulares 1 Objetivos principales Distinguir entre operadores aritméticos y
Introducción al Sistema Operativo Unix
Introducción al Sistema Operativo Unix Sistema Operativo Un sistema operativo es software que supervisa la forma en que se pueden usar los recursos de una computadora. En algunas computadoras el sistema
Fundamentos de Programación
Fundamentos de Programación COMENTARIOS Microsoft Visual Basic interpreta que todo lo que está a la derecha del carácter ( ) en una línea cualquiera de programa es un comentario y no ejecuta acción alguna.
Tema 7:Línea de ordenes del sistema operativo.
Tema 7:Línea de ordenes del sistema operativo. Órdenes de Linux Introducción Estructura de directorios Ordenes básicas Bash Shell Redirección 1 1. Introducción Objetivos Conocer el árbol de directorio
Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)
Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,
Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)
Introducción 1. Definición del shell 19 2. Características de un intérprete de comandos 19 3. Intérpretes de comando (shells) 20 3.1 Historia 20 3.2 Con qué shell hay que programar? 21 3.2.1 Scripts de
PROGRAMACIÓN DE LA SHELL DE UNIX/LINUX
2 PROGRAMACIÓN DE LA SHELL DE UNIX/LINUX 1 INTRODUCCIÓN N AL GUIÓN N SHELL Concepto de guión shell - Un guión shell o shell script es un programa escrito con comandos de la shell e instrucciones condicionales,
LINUX - Los archivos de órdenes I
LINUX - Los archivos de órdenes I Objetivos: Se pretende introducir al alumno en el uso de los archivos de órdenes (conocidos como scripts) utilizando el lenguaje de programación propio del intérprete
Scripts en GNU/Linux
Scripts en GNU/Linux En los sistemas Linux, una shell es un entorno de programación completo, que podemos utilizar interactivamente (como hemos hecho hasta ahora), o bien a través de pequeños programas,
Sistema de archivos. El sistema de archivos tiene una serie de directorios estándar:
Sistema de archivos En UNIX todos los programas, datos, directorios y dispositivos son archivos. Un archivo es una sucesión de bytes. El sistema de archivos de UNIX está organizado en una jerarquía de
LINUX - El intérprete de órdenes II
LINUX - El intérprete de órdenes II Objetivos: Se pretende introducir al alumno en el uso del intérprete de órdenes bash de LINUX. Ejecución de órdenes en el intérprete de órdenes Orden simple Como ya
Linux Principios básicos de uso del sistema [4ª edición]
Introducción 1. Historia de Unix 11 2. GNU 13 2.1 FSF 14 2.2 CopyLeft y GPL 14 3. Linux 16 3.1 Características 18 3.2 Distribuciones 20 4. Qué distribución elegir? 20 4.1 Las distribuciones para el "gran
Programación en Shell Bash
Redes de Area Local Miguel Ortuño Curso 2007 2008 Introducción 1 Introducción comans, programas de usuario, procesamiento de ĺıneas, etc. a="hola mun" echo $a Un fichero de texto
El sistema operativo Linux
El sistema operativo Linux Introducción Que es linux Sistema operativo que emula UNIX Creado por un estudiante, Linus Torvald, para poder hacer sus prácticas en un PC. Nace en 1991 Linux 1.0 en 1994 2.2
Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:
Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez Matrícula: 2010-2946 How to How to: Creación de Scripts!!! Script Qué es un Shell script en Linux?
El entorno de programación UNIX. CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR
El entorno de programación UNIX CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR Comandos más usuales ls (listar) Opción típica: -R (recursivo) Comandos
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
1 Comandos para la manipulacion de archivos cat le more le head le tail le diff le1 le2 grep pat le find. -name pat -print locate pat wc le cat lea >> leb cp fold fnew ls [-la] mv fold fnew rm le rm -R
Tema: Uso de Bash en Linux Parte II.
1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Arquitectura de computadoras Lab. de arquitectura de computadoras, edif. de electrónica. Tema: Uso de Bash en Linux Parte II. Objetivo general Aplicar
Características de JavaScript
Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual
GNU/Linux desde la línea de comandos. Pablo Garaizar Sagarminaga (txipi) Alvaro Uría Avellanal (Fermat)
GNU/Linux desde la línea de comandos Pablo Garaizar Sagarminaga (txipi) Alvaro Uría Avellanal (Fermat) De qué vamos a hablar? Kit de primeros auxilios en la shell: Comandos básicos. VI para náufragos Búsquedas
Programando con el intérprete de órdenes (shell) de UNIX
Programando con el intérprete de órdenes (shell) de UNIX Fundamentos de Informática II. Práctica 1 17 de marzo de 2006 Resumen En esta primera práctica nos familiarizaremos con la orden echo y las variables,
Linux 101 Explorando la línea de comandos
Explorando la línea de comandos Shell Una shell es un programa que acepta e interpreta comandos y provee una interfaz con el sistema, en linux existen varias opciones: bash (GNU Bourne Again Shell): Está
JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.
Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una
Facultad de Ingeniería Universidad de Buenos Aires 7508 Sistemas Operativos
Facultad de Ingeniería Universidad de Buenos Aires 7508 Sistemas Operativos Práctica 1. 1. Cuál es la diferencia entre $ cat file pr $ pr < file $ pr file 2. Verifique el resultado de los siguientes comandos.
ADMINISTRACIÓN DE USUARIOS EN LINUX
Administración de Redes ADMINISTRACIÓN DE USUARIOS EN LINUX Profesor Eduardo Blanco Departamento de Computación y T. I. USB Usuarios Aun cuando sea para uso personal, en Linux existen varios usuarios (root,
1. Por qué decimos que "Linux" es solamente el kernel del sistema operativo que utilizamos?
PREGUNTAS TEÓRICAS GENERALES 1. Por qué decimos que "Linux" es solamente el kernel del sistema operativo que utilizamos? Linux es el nombre del kernel del sistema operativo GNU/Linux. El resto del sistema
El shell de GNU/Linux
Universidad de Costa Rica Escuela de Ingeniería Eléctrica IE-0117 Programación Bajo Plataformas Abiertas 1. Aspectos generales El shell es el programa que permite al usuario interactuar con el sistema
SEMANA N 9 NOMBRE EXPERIENCIA: Funciones, variables y arreglos en BASH UNIDAD DE APRENDIZAJE: Introducción a los SCRIPTS
SEMANA N 9 NOMBRE EXPERIENCIA: Funciones, variables y arreglos en BASH UNIDAD DE APRENDIZAJE: Introducción a los SCRIPTS I. Objetivo Que el alumno tenga una idea general de las posibilidades que BASH ofrece
REFERENCIA DEL LENGUAJE
REFERENCIA DEL LENGUAJE Sesión 07 Mg. Cadenas de caracteres Una cadena de caracteres es un arreglo de caracteres. Los caracteres son letras, números y signos de puntuación. Cuando un número se usa como
Comandos Básicos de Linux
Comandos Básicos de Linux 1/8 LOGIN Y PASSWORD El proceso de Login distingue a un usuario de otro. Identifica a cada usuario con un nombre. Tras arrancar el sistema: Linux login: nombre de usuario Password:
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Pre-Laboratorio 1 MA-33A : Introducción a Matlab
Pre-Laboratorio 1 MA-33A 2007-1: Introducción a Matlab Gonzalo Hernández - Gonzalo Rios UChile - Departamento de Ingeniería Matemática 1 Interfaz de Matlab Al ejecutar el programa Matlab, se abrirá una
Mª DOLORES CARBALLAR FALCÓN L
Mª DOLORES CARBALLAR FALCÓN 28935146L Nivel educativo al que va dirigido: El objetivo de esta práctica, es acercar los comandos más básicos para la manipulación de ficheros y directorios del Sistema Operativo
TEMA 6: Manejo de archivos, permisos y navegación en GNU/LINUX.
TEMA 6: Manejo de archivos, permisos y navegación en GNU/LINUX. Objetivos: Lograr en el estudiante un aprendizaje de la jerarquía de archivos que se maneja en GNU/LINUX, para que sepa cómo se estructura
Apunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
PHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
Creación de Shell Scripts
Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa es capaz de seguir, interpretar, y ejecutar, pero el Shell Script no es solamente eso; también son ficheros de texto
Taller de Sistemas Operativos I Red Hat Academy. Sesión 07a El intérprete BASH y escritura de scripts en GNU/Linux
INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Sistemas Operativos I Red Hat Academy Sesión 07a El intérprete BASH y escritura de scripts en GNU/Linux El intérprete de comandos
9) Despliegue el mismo archivo de nuevo, pero esta vez utilice solo las teclas del cursor para ejecutar el comando sin tener que digitarlo de nuevo.
PARTE 1. EMPEZANDO EN LINUX Ejercicio 3 1) Use el comando ls para listar los archivos en el directorio actual. 2) Cree un nuevo archivo utilizando el comando cat de la manera siguiente: 3) $ cat > hola.txt
1. Introducción Linux. 2. Comandos de Linux Comandos básicos
1. Introducción Linux Linux es una versión gratuita o libre de UNIX. Como tal es un sistema operativo multitarea y multiusuario. Tiene un entorno gráfico (que estáis viendo) como otros sistemas operativos,
LENGUAJES DE CONTROL DE ÓRDENES: EL KORN SHELL (KSH)
LENGUAJES DE CONTROL DE ÓRDENES: CONTENIDOS: 1. Introducción EL KORN SHELL (KSH) 2. Aspectos básicos 3. Variables y parámetros 4. Control de tareas 5. El entorno 6. Operaciones aritméticas 7. Escritura
Lenguaje de Programación: C++ Repaso de Material C++
UG Lenguaje de Programación: C++ Repaso de Material C++ Universidad de Guanajuato Octubre 2010 Variables Tipos de Variables Operadores Variable Para poder leer algo, necesitamos un lugar donde poner lo
Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas
Instituto Tecnológico de Las Américas (ITLA)
Instituto Tecnológico de Las Américas (ITLA) Sistema Operativo 3 (SO3) Abel Eliezer Mejía Amador Matricula: 2011-3891 How to: Creación de Scripts Scripts Qué es un Shell script en Linux? Shell es un programa
Seminario de introducción al uso del sistema operativo UNIX
Lenguajes de Alto Nivel y Compiladores Curso 2007/2008 Por: Seminario de introducción al uso del sistema operativo UNIX Mario Aldea Rivas Michael González J. Javier Gutiérrez Grupo de Computadores y Tiempo
