Your SlideShare is downloading. ×
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Creacion de scripts en linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Creacion de scripts en linux

7,312

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,312
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
185
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Cuarto Nivel Sistemas - PUCE SD CREACION DE SCRIPTS EN LINUXDefinición de Script: Un script es un archivo que incluye un conjunto decomandos.Son ejecutados desde la primera línea hasta la última (de forma secuencial).1- .QUE ES EL SHELL SCRIPT?Un Shell Script es un script para la shell de comandos (terminal). Para crear unscript basta con un editar un fichero nuevo y en el nombre poner .sh Ejemplo:HolaMundo.shUna vez creado, empezamos a editarlo. Se puede utilizar un editor de textosgráfico como gedit o un editor en terminal como vim, nano o emacs.En la primera línea del script se debe indicar que shell que vas a usar ( /bin/bash/ ,/usr/ bin/perl , etc ) Aunque da igual la que uses lo importante es el contenido:#! /bin/bash#! Se conoce con el nombre de Sha Bang.Se denomina “sha-bang” a la secuencia #! con la que se inician los scripts. Sufunción es indicarle al sistema que se trata de un conjunto de comandos para quesean interpretados. En realidad, es un número mágico de dos bytes. El númeromágico es un marcador especial para indicar el tipo de archivo, en este caso,indica que se trata de un script de shell ejecutable.Para introducir comentarios se debe poner #. Por cada línea que deseéis poner uncomentario, lo primero que debe tener es #. Es importante añadir comentarioscomentando la utilidad del script o las variables que se crean. 1
  • 2. Cuarto Nivel Sistemas - PUCE SD2- .COMO EJECUTAR UN SCRIPT?Antes de poder ejecutarlo, debemos darle permisos de ejecución. (+x) por ello,haremos uso del comando chmod y damos permisos de ejecución, si se desea, sepueden dar a todos los usuarios y grupos.chmod 755 /ruta_del_script Para el usuario propietariochmod 777 /ruta_del_script Para cualquier usuarioUna vez hecho todo lo anterior, usaremos:./nombredelscript.shPero también podemos usar si es un shell script:sh nombredelscript.sh3- .PASO DE PARÁMETROS A UN PROGRAMA DE SHELLA menudo queremos que nuestros programas de shell reciban parámetros desdela línea de órdenes para hacerlos más versátiles. Estos parámetros son lo que seconoce como parámetros de posición. Los parámetros de posición se pueden usardentro de un programa de shell como cualquier otra variable de shell; es decir,para saber su valor utilizaremos el símbolo $. Los parámetros dentro del shellscript son accesibles utilizando las variables:$0 Representa al parámetro cero o nombre del programa$1 Representa al parámetro uno$2 Representa al parámetro dos…$9 Representa al parámetro nueve${10} Representa al parámetro diez${11} Representa al parámetro once…Ejemplo1:#!/bin/bash 2
  • 3. Cuarto Nivel Sistemas - PUCE SDecho El nombre del programa es $0echo El primer parámetro recibido es $1echo El segundo parámetro recibido es $2echo El tercer parámetro recibido es $3echo El cuarto parámetro recibido es $44- .ALGUNAS VARIABLES ESPECIALES DEL SHELL$# Número de parámetros que han pasado a la shell.$* Un argumento que contiene todos los parámetros que se han pasado ($1, $2...)menos el $0.$? Número donde se almacena el código de error del último comando que se haejecutado.$$ Número de proceso actual (PID)$! Último número de proceso ejecutado.Prueba1.sh#!/bin/bashecho El nombre del programa es $0echo El número total de parámetros es $#echo Todos los parámetros recibidos son $*echo El primer parámetro recibido es $1echo El segundo parámetro recibido es $2echo El tercer parámetro recibido es $3echo El cuarto parámetro recibido es $4HolaMundo.sh#! /bin/bashclearecho “Hola mundo ,este es mi primer script” 3
  • 4. Cuarto Nivel Sistemas - PUCE SDScriptUno.sh#! /bin/bashclearnombre=“Juan”apellidos=“Lopez”echo “Te llamas $nombre $apellidos”5- .READSintaxis: read variable (s)La orden read se usa para leer información escrita en el terminal de formainteractiva. Si hay más variables en la orden read que palabras escritas, lasvariables que sobran por la derecha se asignan a NULL. Si se introducen máspalabras que variables haya, todos los datos que sobran por la derecha seasignan a la última variable de la lista.Ejemplo1:#!/bin/bash#script ej_read#La opción –n se emplea para evitar el retorno de carroecho –n “Introduce una variable: “read varecho La variable introducida es: $varEjemplo5:#!/bin/bash#script ej_read_var que lee varias variables con readecho –n “Introduce las variables: “read var1 var2 var3echo Las variables introducidas son: 4
  • 5. Cuarto Nivel Sistemas - PUCE SDecho var1 = $var1echo var2 = $var2echo var3 = $var36- .EXPRSintaxis: expr arg1 op arg2 [op arg3 …]Los argumentos de la order expr se toman como expresiones y deben irseparados por blancos. La orden expr evalúa sus argumentos y escribe elresultado en la salida estándar. El uso más común de esta orden es para efectuaroperaciones de aritmética simple y, en menor medida, para manipular cadenas.Operadores aritméticos + Suma arg2 a arg1 - Resta arg2 a arg1 * Multiplica los argumentos / Divide arg1 entre arg2 (división entera) % Resto de la división entera entre arg1 y arg2• En el caso de utilizar varios operadores, las operaciones de suma y resta se evalúan en último lugar, a no se que vayan entre paréntesis.• No hay que olvidar que los símbolos *, ( y ) tienen un significado especial para el shell y deben ser precedidos por el símbolo backslash ( ) o encerrados entre comillas simples. 5
  • 6. Cuarto Nivel Sistemas - PUCE SDEjemplo:#!/bin/bash#script que multiplica dos variables leídas desde tecladoecho “Multiplicación de dos variables”echo “-------------------------------“echo –n “Introduce la primera variable:“read var1echo –n “Introduce la segunda variable:“read var2resultado=`expr $var1 * $var2`echo El resultado de la multiplicación es =$resultadoEl resultado de ejecutar el programa anterior es el producto de las dos variablesleídas desde el teclado.Operadores relacionalesEstos operadores se utilizan para comparar dos argumentos. Los argumentospueden ser también palabras. Si el resultado de la comparación es cierto, elresultado es uno (1); si es falso, el resultado es cero (0). Estos operadores seutilizan mucho para comparar operandos y tomar decisiones en función de losresultados de la comparación. Los distintos tipos de operadores relacionales son:Operadores lógicosEstos operadores se utilizan para comparar dos argumentos. Dependiendo de losvalores, el resultado puede ser arg1 (o alguna parte de él), arg2 o cero. 6
  • 7. Cuarto Nivel Sistemas - PUCE SDComo operadores lógicos tenemos los siguientes:| Or lógico. Si el valor de arg1 es distinto de cero, el resultado es arg1; si noes así, el resultado es arg2.& And lógico. Si arg1 y arg2 son distintos de cero, el resultado es arg1; si noes así, el resultado es arg2.: El arg2 es el patrón buscado en arg1. Si el patrón arg2 está encerradodentro de paréntesis ( ), el resultado es la parte de arg1 que coincide con arg2. Sino es así, el resultado es simplemente el número de caracteres que coinciden.Ejemplo: En este ejemplo incrementamos en una unidad el valor de la variable a.$a=5$a=`expr $a + 1 `$echo $aEjemplo: En este ejemplo calculamos el número de caracteres de la cadena a.$a=palabra$b=`expr $a : “.*”`$echo $btest (evaluaciones numéricas)Sintaxis: número relación númeroEn evaluaciones numéricas, esta orden es sólo válida con números enteros. Losoperadores usados para comparar números son diferentes de los usados paracomparar cadenas. Estos operadores son: -lt Menor que -le Menor o igual que -gt Mayor que -ge Mayor o igual que -eq Igual a -ne No igual a 7
  • 8. Cuarto Nivel Sistemas - PUCE SDHay unos cuantos operadores que son válidos en una expresión de la orden test ala hora de evaluar tanto archivos como cadenas o números. Estos operadores sonllamados conectores y son: -o OR -a AND ! NOT7- .Estructuras condicionales 8
  • 9. Cuarto Nivel Sistemas - PUCE SD 9
  • 10. Cuarto Nivel Sistemas - PUCE SDTener que poner tantos echo es bastante molesto, por eso hay un comando quete ahorra hacer ese esfuerzo (select): 10
  • 11. Cuarto Nivel Sistemas - PUCE SD 11
  • 12. Cuarto Nivel Sistemas - PUCE SD 12

×