SlideShare uma empresa Scribd logo
1 de 43
ESCUELA POLITECNICA NACIONAL


    SITEMAS OPERATIVOS


    ING. ADRIAN ZAMBRANO



          14-11-2012
SCRIPTS EN ubuNTu
“Todo lo que necesitas saber acerca de un
Scripts ”

GRUPO 2


Vanessa   Estefania Napa
Renato   Diaz
Pablo   Medina
ara modificar el estilo de Que es un Script?
                           texto del patrón
ivel
                        Un script es un tipo de lenguaje informático
vel                     interpretado, formado por lineas de texto ASCII,
nivel                   las cuales son ejecutadas de manera secuencial y
                        ordenada por un programa padre, en este caso
                        nuestro shell Bash.


                        Es un conjunto de comandos presentados de
                        manera sencilla y de acceso rápido para el
                        usuario.

                        ‘Un script es el medio de comunicación entre el programador y el usuario’.
   Dentro de la edición de un Script hay caracteres que cumplen una función predeterminada
    y especifica.



‘      ’ Comillas simples: Se las utiliza para indicar caracteres   literales ‘a’.




“      ” Comillas dobles: Agrupa cadenas de caracteres “ Grupo 2 Script”

`      ` Comillas invertidas: Hacen que su contenido sea    evaluado y que su

          resultado sea devuelto. Al tipear `date` en el script al momento que este

          se haya ejecutado se enviará una respuesta con el la fecha actual.

          Linea del script: `date`

          Respuesta mostrada por el shell: sab nov 19 18:58:31 ECT 2012



    #    se lo utiliza para dejar comentarios o hacer una descripción dentro del script.
Pasos para la creación de un script
      1. Decidir la función que el script va a efectuar
        2. Hacer una lista de comandos que se
         introducirán en el Script.
        3. Crear un nuevo archivo para el script
      4. Identificar el shell que utilizará el script
        5. Agregar comandos y comentarios
        6. Guardar el archivo script
        7. Hacer ejecutable el archivo script
        8. Tipear el nombre del script para ejecutarlo
        9. Hacer debug y modificar el script si
         tiene algún error.
Pasos para la creacion de un script

1.   Decidir la función que el script va a
     efectuar
                    Este es uno de los pasos

               más      importantes ya que
               antes de crear el cómo
               tenemos que crear el que,
               es decir la función que
               cumplirá el programa a
               desarrollar
Pasos para la creacion de un script

2.Hacer una lista de los comandos que se
introduciran en el Script


     El paso siguiente después de haber
     imaginado el programa es pensar en los
     comandos con los cuales desarrollaremos el
     como.
     Hay una serie de comandos que se utilizan en un
     script .
     A continuación les presentamos los más
     representativos:
Pasos para la creacion de un script

2.Hacer una lista de los comandos que se
introduciran en el Script


     El paso siguiente después de haber
     imaginado el programa es pensar en los
     comandos con los cuales desarrollaremos el
     como.
     Hay una serie de comandos que se utilizan en un
     script .
     A continuación les presentamos los más
     representativos:
Comando echo
Es uno de los comandos mas utilizados dentro de un script de shell, su función es la de mostrar en pantalla una cadena
de caracteres.


   Su  sintaxis es: 

     echo [opciones] [cadena]


OPCIONES:

       -n   Suprime el caracter de nueva linea final

       -e   Activa la interpretación de los caracteres alternativos

              listados debajo

       -E   Desactiva la interpretación de secuencias de cadena




      Sin -E, las siguientes secuencias con reconocidas

              barra inversa

       b       retorno

      f        salto de página

      n        nueva línea

       r       retorno de carro

      t        tabulación horizontal

      v        tabulación vertical
Comando echo

EJEMPLO:


    1. Comando echo
     echo "La vida es Bella"
   El comando mostrará: ”La vida es Bella”


    2. Para usar el retorno
     echo -e "La vida es bBella"
     El comando eliminará el espacio y se mostrará:
     ”La vida esBella”


3. Para usar el espacio de tabulación en el comando echo
     echo -e "LatvidatestBella"
     El comando mostrará:
     ”La     vida     es     Bella”
Comando read


   El comando read es de mucha ayuda dentro del
    desarrollo de scripts que necesiten que el usuario
    introduzca algún tipo de parámetro o dato.


Durante la ejecución de un script, si este encuentra
una línea de comando que tenga el comando read
seguido de un nombre de variable,
dicha ejecución se detendrá y en pantalla se mostrará
el cursor parpadeando en espera de que se introduzca
el valor de la variable, este valor a continuación sera
almacenado por la shell como el valor de la variable.
Comando read
   EJEMPLO:

    #!/bin/bash
    #uso de read
    echo "Cuál es tu nombre?"
    read  nombre
    echo "Hola $nombre“


   En este ejemplo se puede observar que al pedir el ingreso de la edad
    utilizamos read edad. Hay que fijarse bien que para que el shell
    entienda la orden y pueda mostrar la edad ingresada con el comando
    echo es necesario preceder a la variable edad de un signo de dinero
    ($), de esta forma $edad. 
Pasos para la creación de un script


3.   Crear un nuevo archivo para el script
        Elegir un editor de texto para la creación de 
        este archivo.
        Elegir un nombre para el script evitando
        nombres como backup.sh son nombres que se deben
       evitar ya que estos tienen funciones específicas
        dentro del shell.
       
        
        Los archivos script pueden ser guardados en el
       directorio home del usuario, pero también se los
       puede colocar en el directorio ~/bin que se
         encuentra como subdirectorio de home.
        .
Pasos para la creación de un script


4. Identificar el shell que utilizara el
script
  El usuario debe introducir #!/bin/ksh o #!/bin/bash en
la primera línea del script. Es importante empezar la primera
línea con "#!" ya que así el script no lo reconocer á como
comando a ser ejecutado.
Pasos para la creación de un script


5.   Agregar comandos y comentarios
6. Guardar       el archivo script


EJEMPLO:
  #!binbash
   #Código que muestra información importante del terminal
   #Este comando nos mostrará el directorio actual de  trabajo
   echo "Directorio actual:"
   pwd
   #Limpiamos la pantalla
   clc
   echo "Usuario actualmente en el sistema:"
   who
Pasos para la creación de un script




7. Hacer   ejecutable el archivo script


1er método
 Asignando permisos mediante el comando chmod
 cambiamos de 664 a ..


2do método
 Tipear bash en el prompt antes del nombre del archivo


                  $ bash nombre_script.sh
Como hacer debugging de un script
   Un problema común al escribir scripts de shell es
    que el shell no interpreta el comando de la
    manera en la cual lo espera el usuario. El alumno
    puede utilizar los comandos  ksh o  bash con las
    opciones -x (echo - eco) y -v (verbose - "elocuente")
    para ayudar a identificar en qué parte del script
    se encuentran los problemas.
VARIABLES EN LOS SCRIPTS
   Una variable es un placeholder (marcador de posición) para la
    información requerida por los procesos para que puedan funcionar
    apropiadamente. Una variable tiene un nombre y guarda un
    valor. Cambiar el valor de una variable es configurarla. Existen
    dos tipos de variables utilizados en scripts de shell, las
    variables de shell y las variables del entorno.
   Las variables de shell son mantenidas por el shell y sólo son
    conocidas para el shell actual. Estas variables son variables
    locales. Las variables del entorno son variables conocidas para el
    shell actual y todos los shells hijos o subshells. Algunos ejemplos
    de variables del entorno predefinidas son:
       * El shell de login (SHELL)
       * El nombre de login (LOGNAME)
    * La ruta de búsqueda que se utiliza para buscar      comandos  
     (PATH)
       * Las configuraciones de terminal (TERM)
   Las variables locales se configuran utilizando el formato
    VARIABLE=valor.           Por       ejemplo,       BACKUPDIR
    =/home/user2/myfiles configura la variable denominada
    BACKUPDIR como igual al valor de /home/user2/myfiles. Los
    nombres de las variables van en mayúscula por convención pero
    también pueden ir en minúscula. Utilice el comando echo para
    mostrar el valor de una variable. La figura ilustra cómo
    configurar y mostrar la variable BACKUPDIR. El signo de dólar
    antes de un nombre de variable instruye al shell para que utilice
    el valor de la variable. De otro modo, echo BACKUPDIR, sin el
    signo de dólar daría como resultado la cadena de texto
    BACKUPDIR, como se ilustra en el ejemplo.



                    Haga clic para modificar el estilo de texto del patrón

                       Segundo           nivel
                         Tercer nivel
                            Cuarto nivel

                                  Quinto nivel
   Las variables también pueden configurarse para que
    sean igual al resultado de un comando. Por ejemplo,
    DATE=`date` asignaría el valor de la fecha actual a
    la variable DATE. Cuando ha de mostrarse una
    variable, los acentos graves (`) indican al shell que
    utilice la fecha actual en lugar de la palabra "date".
    Los acentos graves y otros caracteres de encomillado
    se trataron anteriormente en este capítulo.
   La ventaja de una variable es que una vez
    configurada puede hacerse referencia a ella muchas
    veces a lo largo de un script. Si el valor de la variable
    se cambia entonces todas las veces que se hace
    referencia a ella se utilizará el nuevo valor y no
    hacen falta otras modificaciones.
Comandos condicionales
   LOS OPERADORES DISPONIBLES PARA SENTENCIAS
          CONDICIONALES Y SUS SIGNIFICADOS


    Operador     Significado     Equivalente
                                 Matematico
    -eq          Es igual a      x == y
    -ge          Mayor o igual   x >= y
                 que
    -gt          Mayor que       x>y
    -le          Menor o igual   x <= y
                 que
    -lt          Menor que       x<y
    -ne          No es igual a   x != y
comandos condicionales
   Los comandos que llevan a cabo ciertas tareas basadas en si una condición tiene
    éxito o falla se denominan comandos condicionales. Los tres comandos
    condicionales utilizados más frecuentemente son if, test, y case.
   COMANDO if
   La forma más simple de un comando condicional es el comando if.
   El comando if es un comando de shell incorporado que permite probar una
    condición y luego cambiar el flujo de la ejecución de un script de shell basándose
    en el resultado de la prueba.
   Existen tres formatos del comando if. El comando fi (if invertido) se coloca
    siempre al final de un condicional if.


   El Formato del Comando if-then (si-entonces): 
    if el comando tiene éxito

    then 

    ejecutar el/los comando(s)

    fi
   EJEMPLO
    #!/bin/bash
   x=3
   y=9
   if [ $x -lt $y ]
   then   
   echo "x=$x es menor que y=$y"
   fi
    x=3 es menor que y=9


    El Formato del Comando if-then-else (si-entonces-
     de lo contrario):

    if el comando tiene éxito
     then
     ejecutar el/los comando(s)
     else
     ejecutar el/los comando(s)
     fi
   EJEMPLO (Calculadora Básica)
   #!/bin/bash
    echo "Ingrese el primer numero"
    read x
    echo "Ingrese el segundo numero"
    read y
    echo "¿Que operacion matematica desea hacer?"
    echo "1. Suma"
    echo "2. Resta"
    echo "3. Multiplicación"
    echo "Escoja una opción [1,2 or 3]? "
    read oper

    if [ $oper -eq 1 ]
    then
         echo "La suma es: " $(($x + $y))
    else
         if [ $oper -eq 2 ]
         then
         echo "La resta es: " $(($x - $y))
         else
         if [ $oper -eq 3 ]
         then
         echo "La multiplicacion es: " $(($x * $y))
         else
         echo "Invalido argumento"
         fi
         fi
    fi
   El Formato del Comando if-then-elif (else if)
    (si-entonces-de lo contrario si):
    if el comando tiene éxito
    then
    ejecutar el/los comando(s)

    elif el comando tiene éxito
    then
    ejecutar el/los comando(s)

    else
    ejecutar el/los comando(s)

    fi
   EJEMPLO(Comparar dos numeros)
   #!/bin/bash
    echo " Digite el primer número"
    read primero
    echo "Digite el segundo número"
    read segundo

    if [ $primero -eq 0 ] && [ $segundo -eq 0 ]
    then
         echo "Num1 y Num2 son cero"
    elif [ $primero -eq $segundo ]
    then
         echo "Ambos numeros son iguales"
    elif [ $primero -gt $segundo ]
    then
         echo "$primero es mayor que el $segundo"
    else
         echo "$primero es menor que el $segundo"
    fi
 EJEMPLO    (Montar una particion)
#!/bin/bash
echo "¿Desea montar una particion?. ¿S/n?"
read x
if [ $x = S ]
then
echo "Es necesario instalar el programa pysdm.¿desea instalarlo?.¿S/n? "
read y
    if [ $y = S ]
    then
    sudo apt-get install pysdm
    echo "Elprograma pysdm esta a punto de iniciar.."
    sleep 3
    echo "Utilice el entorno grafico para montar la particion"
    sudo pysdm
    echo "Saliendo del programa.."
    sleep 3
        echo "¿Desea reiniciar el sistema?. ¿S/n?"
        read z
        if [ $z = S ]
        then
        reboot
        else
        clear
        exit
        fi
    else
    exit
    fi
else
exit
fi
Comando test
   El comando condicional incorporado al shell test se utiliza a menudo para probar una
    o más condiciones que siguen al comando if.
   El comando test evalúa una expresión, y si el resultado es verdadero, devuelve un
    estado de salida de cero. De otro modo el resultado es falso, y devuelve un estado de
    salida que no es cero.

   La expresión compara normalmente dos números o dos cadenas para comprobar si los
    valores son idénticos. La expresión se utiliza también para probar el estado de un
    archivo.


   Formato del Comando:

   if test expresión o if [expresión]

   then


   ejecutar comando(s)


   fi
   En el ejemplo que figura a continuación, test evalúa la variable $answer para determinar si el usuario
    respondió "y" (de "yes" - sí) a la pregunta ( "¿Despejar la pantalla antes de mostrar el listado de
    archivos?"). De ser verdadera, se despeja la pantalla y se muestra el contenido del directorio actual.
    De ser falsa, se muestra el contenido del directorio actual pero no se despeja antes la pantalla.
    #!/bin/ksh 

    echo "¿Despejar la pantalla antes de mostrar el listado de archivos?").  

    echo " enter y for Yes or n for No:c" 

    read answer 


    if test "$answer" = y 


    then 

           clear;ls 

    else 

           ls 

    fi

   El comando test se utiliza tan a menudo en los scripts de shell que los corchetes ([ ]) pueden utilizarse
    como alternativa a tipear "test". Por ejemplo, la línea de más arriba "if test "$answer" = y" también
    podría escribirse así: if [ $answer = y ].


   Nota: el signo != (no igual) puede utilizarse para probar si una cadena no es igual a otra.
Comando case
   Una forma de realizar la misma acción sin escribir tantas lineas de condicionales elif y con ello disminuir el tamaño del guión
    es la utilización de la sentencia case-in-esac. Esta sentencia permite vincular patrones de texto con conjuntos de comandos;
    cuando la variable de la sentencia coincide con alguno de los patrones, se ejecuta el conjunto de comandos asociados. La
    sintaxis de la sentencia case-in esac es como sigue.

   Formato del Comando:


   case valor de la variable in

   value1 )

          Comando


          Comando


          ;;

   value2 )

          Comando


          Comando



          ;;

   *)

          Comando


           ;;
      esac
   El valor de una variable de case se compara con value1, value2, etcétera, hasta hallar una
    coincidencia.
   Cuando un valor coincide con la variable de case, los comandos que siguen a ese valor se
    ejecutan hasta llegar a los punto y coma dobles (;;). Luego el control se dirige a toda la línea
    directamente después del enunciado esac.
   Si el valor de una variable de case no coincide, el programa ejecuta los comandos después
    del valor por defecto *) hasta que se llega a los punto y coma dobles o hasta esac.
   EJEMPLO
   #!/bin/bash
    echo "Diga si o no:"
    read VAR 
    case "$VAR" in
    si) echo "Escribiste -si-"
   ;;
    no) echo "Escribiste -no-"
   ;;
    *) echo "Lo que escribió no se acepta"
   ;;
    esac
   Observe que el carácter (*) utilizado en la última opción significa "patrón no contemplado"
    en este caso.
   El valor de una variable de case se compara con value1, value2, etcétera, hasta hallar una
    coincidencia.
   Cuando un valor coincide con la variable de case, los comandos que siguen a ese valor se
    ejecutan hasta llegar a los punto y coma dobles (;;). Luego el control se dirige a toda la línea
    directamente después del enunciado esac.
   Si el valor de una variable de case no coincide, el programa ejecuta los comandos después
    del valor por defecto *) hasta que se llega a los punto y coma dobles o hasta esac.
   EJEMPLO
   #!/bin/bash
    echo "Diga si o no:"
    read VAR 
    case "$VAR" in
    si) echo "Escribiste -si-"
   ;;
    no) echo "Escribiste -no-"
   ;;
    *) echo "Lo que escribió no se acepta"
   ;;
    esac
   Observe que el carácter (*) utilizado en la última opción significa "patrón no contemplado"
    en este caso.
BUCLES


Se puede utilizar bucles para controlar el flujo de
ejecución de un script. Un bucle repite una
secuencia de instrucciones hasta satisfacer una
condición predeterminada.
A menudo un script tiene que ver con llevar a cabo la
misma operación o conjunto de operaciones de cada
archivo en un directorio o lista, cada línea de un
archivo, o cada palabra de una línea.
El shell proporciona tres construcciones de bucle
para lograr este tipo de acción: el bucle for, el bucle
while y el bucle until.
EL BUCLE FOR

El bucle for ejecuta una lista de comandos una vez para cada valor de variable de bucle.


Formato del Comando:


for variable in


list


do


Comandos


Done


El valor de la variable se cambia con cada pasada a través del bucle al siguiente valor en
list. Cada vez que un valor es asignado, los comandos se ejecutan en el cuerpo del bucle.
Cuando ya no quedan más valores en list, el bucle se termina.
EL BUCLE WHILE

El bucle while ejecuta repetidamente un grupo de comandos dentro del
cuerpo de un bucle hasta que la condición de prueba de la expresión se
hace falsa. En otras palabras, mientras la expresión sea verdadera,
ejecuta estos comandos.


Formato del Comando:


while condición


do


Comandos


done
EL BUCLE UNTIL

El bucle until es muy similar al bucle while pero ejecuta una serie de
comandos mientras un comando continúe fallando (estado de salida no-cero).
Cuando el comando finalmente se ejecuta con éxito, el bucle se termina y la
ejecución pasa al primer enunciado que sigue a la construcción done. La
condición until se verifica en la parte superior del bucle, no en la inferior.


Formato del Comando:


until condición


do


Comandos


done
Script1: Factorial de un número ingresado por el usuario .


   
       #!/bin/bash

   
       echo "ingrese el numéro para hallar su factorial"
   
       read num
   
       n=$num
   
       fact=1

   
       for (( i=1; i<=n; i++ ))
   
       do

   
       fact=`expr $fact * $i`

   
       done
   
       echo "el factorial de $num es: $fact "
Script2: Verifica si un usuario está loggeado.



    #!/bin/bash


    echo "Ingrese l nombre de un usuario: "

    read name


    while who | grep $name

    do

    echo "$name está loggeado"

    sleep 5

    exit

    done

    echo "$name no está loggeado"
Script3: Indica si un usuario está loggeado .



    #!bin/bash

    echo "ingrese un usuario"

    read user

    until

    who | grep $user

    do

    echo "el $user no esta loggeado"

    sleep 5

    done

    echo "el $user esta loggeado"
Script4: ver que número es mayor, menor o igual.
  Script.sh num1 num2(asi se ejecuta el script).



    #!/bin/bash

    if [ $2 -gt $3 ]

    then

    echo "$2 es mayor"

    elif [ $2 -eq $3 ]

    then

    echo "$2 = $3"

    else

    echo "$3 es mayor"

    fi
Script5: Permite crear respaldos de un carpeta
deseada en un dirección ingreseda por el usuario.

●
    #!/bin/bash
●
    clear
●
    cd
●
    pwd
●
    echo "ingrese el path absoluto de la carpeta con el contenido que desea que se
    respalde"
●
    read path
●
    while [ ! -d $path ]
●
    do
●
    clear
●
    echo "$path no existe"
●
    echo "ingrese el path absoluto de la carpeta con el contenido que desea que se
    respalde una vez por semana"
●
    read path
●
    done
●

    clear

    echo "ingrese el nombre de la carpeta donde se guardarán los resplados"

    read name

    echo "ingrese el path absoluto en donde quiere que se cree la carpeta respaldos"

    read ruta

    while [ ! -d $ruta ]

    do

    clear

    echo "$ruta no es válido"

    echo "ingrese el path absoluto en donde quiere que se cree la carpeta $name"

    read ruta

    done
●   mkdir $ruta/$name
●
    echo "ingrese el nombre del fichero donde se
    almacenarán y del cual se realizará un compresión"
●
    read fichero

●   tar -cvf $ruta/$name/$fichero.tar $path/*
●   sudo apt-get install ncompress
●
    compress -v $ruta/$fichero.tar $ruta/$name/$fichero.Z

●   clear
●   echo "Se han creado los respaldos de $path"

Mais conteúdo relacionado

Mais procurados

12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A ObjetosJulio Pari
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesJosé Antonio Sandoval Acosta
 
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdfDIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdfJuanPatricioLemaChil
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasKenny Cash
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolíticaurumisama
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenariosUCATEBA
 
Estructuras cíclicas o repetitivas en la programación
Estructuras cíclicas o repetitivas en la programaciónEstructuras cíclicas o repetitivas en la programación
Estructuras cíclicas o repetitivas en la programaciónPandora412
 
Guardar y buscar en archivo de texto usando GUI con java en Net beans
Guardar y buscar en archivo de texto usando GUI con java en Net beansGuardar y buscar en archivo de texto usando GUI con java en Net beans
Guardar y buscar en archivo de texto usando GUI con java en Net beansEmerson Garay
 

Mais procurados (20)

12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 Excepciones
 
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdfDIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadas
 
Agentes basados en objetos utilidad
Agentes basados en objetos utilidadAgentes basados en objetos utilidad
Agentes basados en objetos utilidad
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolítica
 
python
pythonpython
python
 
Java Threads (Hilos en Java)
Java Threads (Hilos en Java)Java Threads (Hilos en Java)
Java Threads (Hilos en Java)
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Modelo jerarquico
Modelo jerarquicoModelo jerarquico
Modelo jerarquico
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Estructuras cíclicas o repetitivas en la programación
Estructuras cíclicas o repetitivas en la programaciónEstructuras cíclicas o repetitivas en la programación
Estructuras cíclicas o repetitivas en la programación
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Guardar y buscar en archivo de texto usando GUI con java en Net beans
Guardar y buscar en archivo de texto usando GUI con java en Net beansGuardar y buscar en archivo de texto usando GUI con java en Net beans
Guardar y buscar en archivo de texto usando GUI con java en Net beans
 
Comandos c#
Comandos c#Comandos c#
Comandos c#
 

Destaque

Corporación universitaria minuto de dios
Corporación universitaria minuto de diosCorporación universitaria minuto de dios
Corporación universitaria minuto de diosjohislop
 
Tarea 4 Cuadro Comparativo de los Modelos de Enseñanza
Tarea 4 Cuadro Comparativo de los Modelos de EnseñanzaTarea 4 Cuadro Comparativo de los Modelos de Enseñanza
Tarea 4 Cuadro Comparativo de los Modelos de EnseñanzaMATALOTE5855
 
Políticas y normas de seguridad, auditoría informática, plan de contingencias
Políticas y normas de seguridad, auditoría informática, plan de contingenciasPolíticas y normas de seguridad, auditoría informática, plan de contingencias
Políticas y normas de seguridad, auditoría informática, plan de contingenciasCamilo Quintana
 
Sistemas de numeracion(1)
Sistemas de numeracion(1)Sistemas de numeracion(1)
Sistemas de numeracion(1)byrondelgado
 
Revised michael jackson presentation
Revised michael jackson presentationRevised michael jackson presentation
Revised michael jackson presentationLauren Priest Hardman
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalLuisICM
 
Respuesta metabolica al trauma
Respuesta metabolica al traumaRespuesta metabolica al trauma
Respuesta metabolica al traumarosa romero
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Instituto Técnico Superior
 
Roles Del Ingeniero De Sistemas
Roles Del Ingeniero De SistemasRoles Del Ingeniero De Sistemas
Roles Del Ingeniero De SistemasKaren Fontanilla
 

Destaque (14)

Corporación universitaria minuto de dios
Corporación universitaria minuto de diosCorporación universitaria minuto de dios
Corporación universitaria minuto de dios
 
Tarea 4 Cuadro Comparativo de los Modelos de Enseñanza
Tarea 4 Cuadro Comparativo de los Modelos de EnseñanzaTarea 4 Cuadro Comparativo de los Modelos de Enseñanza
Tarea 4 Cuadro Comparativo de los Modelos de Enseñanza
 
Moodle_Roles
Moodle_RolesMoodle_Roles
Moodle_Roles
 
Políticas y normas de seguridad, auditoría informática, plan de contingencias
Políticas y normas de seguridad, auditoría informática, plan de contingenciasPolíticas y normas de seguridad, auditoría informática, plan de contingencias
Políticas y normas de seguridad, auditoría informática, plan de contingencias
 
Sistemas de numeracion(1)
Sistemas de numeracion(1)Sistemas de numeracion(1)
Sistemas de numeracion(1)
 
Lealtad
LealtadLealtad
Lealtad
 
Metabolic response to trauma
Metabolic response to traumaMetabolic response to trauma
Metabolic response to trauma
 
Cuento de mi experiencia personal
Cuento de mi experiencia personalCuento de mi experiencia personal
Cuento de mi experiencia personal
 
Revised michael jackson presentation
Revised michael jackson presentationRevised michael jackson presentation
Revised michael jackson presentation
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimal
 
Sistema de Numeración Decimal
Sistema de Numeración DecimalSistema de Numeración Decimal
Sistema de Numeración Decimal
 
Respuesta metabolica al trauma
Respuesta metabolica al traumaRespuesta metabolica al trauma
Respuesta metabolica al trauma
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
 
Roles Del Ingeniero De Sistemas
Roles Del Ingeniero De SistemasRoles Del Ingeniero De Sistemas
Roles Del Ingeniero De Sistemas
 

Semelhante a Script presentacion

Semelhante a Script presentacion (20)

Scripts
ScriptsScripts
Scripts
 
Quasi - scripts-linux
Quasi - scripts-linuxQuasi - scripts-linux
Quasi - scripts-linux
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Script Linux
Script LinuxScript Linux
Script Linux
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
 
Script
ScriptScript
Script
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
 
Introducción a shell script
Introducción a shell scriptIntroducción a shell script
Introducción a shell script
 
Shell script en linux
Shell script en linuxShell script en linux
Shell script en linux
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Curso Bash 3
Curso Bash 3Curso Bash 3
Curso Bash 3
 
Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en Linux
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Shell script
Shell scriptShell script
Shell script
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 

Script presentacion

  • 1. ESCUELA POLITECNICA NACIONAL SITEMAS OPERATIVOS ING. ADRIAN ZAMBRANO 14-11-2012
  • 2. SCRIPTS EN ubuNTu “Todo lo que necesitas saber acerca de un Scripts ” GRUPO 2 Vanessa Estefania Napa Renato Diaz Pablo Medina
  • 3. ara modificar el estilo de Que es un Script? texto del patrón ivel Un script es un tipo de lenguaje informático vel interpretado, formado por lineas de texto ASCII, nivel las cuales son ejecutadas de manera secuencial y ordenada por un programa padre, en este caso nuestro shell Bash. Es un conjunto de comandos presentados de manera sencilla y de acceso rápido para el usuario. ‘Un script es el medio de comunicación entre el programador y el usuario’.
  • 4. Dentro de la edición de un Script hay caracteres que cumplen una función predeterminada y especifica. ‘ ’ Comillas simples: Se las utiliza para indicar caracteres literales ‘a’. “ ” Comillas dobles: Agrupa cadenas de caracteres “ Grupo 2 Script” ` ` Comillas invertidas: Hacen que su contenido sea evaluado y que su resultado sea devuelto. Al tipear `date` en el script al momento que este se haya ejecutado se enviará una respuesta con el la fecha actual. Linea del script: `date` Respuesta mostrada por el shell: sab nov 19 18:58:31 ECT 2012 # se lo utiliza para dejar comentarios o hacer una descripción dentro del script.
  • 5. Pasos para la creación de un script  1. Decidir la función que el script va a efectuar       2. Hacer una lista de comandos que se  introducirán en el Script.       3. Crear un nuevo archivo para el script   4. Identificar el shell que utilizará el script       5. Agregar comandos y comentarios       6. Guardar el archivo script       7. Hacer ejecutable el archivo script       8. Tipear el nombre del script para ejecutarlo       9. Hacer debug y modificar el script si tiene algún error.
  • 6. Pasos para la creacion de un script 1. Decidir la función que el script va a efectuar Este es uno de los pasos más importantes ya que antes de crear el cómo tenemos que crear el que, es decir la función que cumplirá el programa a desarrollar
  • 7. Pasos para la creacion de un script 2.Hacer una lista de los comandos que se introduciran en el Script El paso siguiente después de haber imaginado el programa es pensar en los comandos con los cuales desarrollaremos el como. Hay una serie de comandos que se utilizan en un script . A continuación les presentamos los más representativos:
  • 8. Pasos para la creacion de un script 2.Hacer una lista de los comandos que se introduciran en el Script El paso siguiente después de haber imaginado el programa es pensar en los comandos con los cuales desarrollaremos el como. Hay una serie de comandos que se utilizan en un script . A continuación les presentamos los más representativos:
  • 9. Comando echo Es uno de los comandos mas utilizados dentro de un script de shell, su función es la de mostrar en pantalla una cadena de caracteres.  Su  sintaxis es:  echo [opciones] [cadena] OPCIONES:      -n   Suprime el caracter de nueva linea final      -e   Activa la interpretación de los caracteres alternativos          listados debajo      -E   Desactiva la interpretación de secuencias de cadena    Sin -E, las siguientes secuencias con reconocidas           barra inversa      b     retorno   f     salto de página   n     nueva línea      r     retorno de carro  t     tabulación horizontal  v     tabulación vertical
  • 10. Comando echo EJEMPLO:   1. Comando echo      echo "La vida es Bella"    El comando mostrará: ”La vida es Bella”  2. Para usar el retorno      echo -e "La vida es bBella"      El comando eliminará el espacio y se mostrará:      ”La vida esBella” 3. Para usar el espacio de tabulación en el comando echo      echo -e "LatvidatestBella"      El comando mostrará:      ”La     vida     es     Bella”
  • 11. Comando read  El comando read es de mucha ayuda dentro del desarrollo de scripts que necesiten que el usuario introduzca algún tipo de parámetro o dato. Durante la ejecución de un script, si este encuentra una línea de comando que tenga el comando read seguido de un nombre de variable, dicha ejecución se detendrá y en pantalla se mostrará el cursor parpadeando en espera de que se introduzca el valor de la variable, este valor a continuación sera almacenado por la shell como el valor de la variable.
  • 12. Comando read  EJEMPLO: #!/bin/bash #uso de read echo "Cuál es tu nombre?" read  nombre echo "Hola $nombre“  En este ejemplo se puede observar que al pedir el ingreso de la edad utilizamos read edad. Hay que fijarse bien que para que el shell entienda la orden y pueda mostrar la edad ingresada con el comando echo es necesario preceder a la variable edad de un signo de dinero ($), de esta forma $edad. 
  • 13. Pasos para la creación de un script 3. Crear un nuevo archivo para el script Elegir un editor de texto para la creación de     este archivo. Elegir un nombre para el script evitando    nombres como backup.sh son nombres que se deben evitar ya que estos tienen funciones específicas dentro del shell.           Los archivos script pueden ser guardados en el directorio home del usuario, pero también se los puede colocar en el directorio ~/bin que se encuentra como subdirectorio de home.    .
  • 14. Pasos para la creación de un script 4. Identificar el shell que utilizara el script  El usuario debe introducir #!/bin/ksh o #!/bin/bash en la primera línea del script. Es importante empezar la primera línea con "#!" ya que así el script no lo reconocer á como comando a ser ejecutado.
  • 15. Pasos para la creación de un script 5. Agregar comandos y comentarios 6. Guardar el archivo script EJEMPLO:   #!binbash    #Código que muestra información importante del terminal    #Este comando nos mostrará el directorio actual de  trabajo    echo "Directorio actual:"    pwd    #Limpiamos la pantalla    clc    echo "Usuario actualmente en el sistema:"    who
  • 16. Pasos para la creación de un script 7. Hacer ejecutable el archivo script 1er método Asignando permisos mediante el comando chmod cambiamos de 664 a .. 2do método Tipear bash en el prompt antes del nombre del archivo $ bash nombre_script.sh
  • 17. Como hacer debugging de un script  Un problema común al escribir scripts de shell es que el shell no interpreta el comando de la manera en la cual lo espera el usuario. El alumno puede utilizar los comandos  ksh o  bash con las opciones -x (echo - eco) y -v (verbose - "elocuente") para ayudar a identificar en qué parte del script se encuentran los problemas.
  • 18. VARIABLES EN LOS SCRIPTS  Una variable es un placeholder (marcador de posición) para la información requerida por los procesos para que puedan funcionar apropiadamente. Una variable tiene un nombre y guarda un valor. Cambiar el valor de una variable es configurarla. Existen dos tipos de variables utilizados en scripts de shell, las variables de shell y las variables del entorno.  Las variables de shell son mantenidas por el shell y sólo son conocidas para el shell actual. Estas variables son variables locales. Las variables del entorno son variables conocidas para el shell actual y todos los shells hijos o subshells. Algunos ejemplos de variables del entorno predefinidas son:      * El shell de login (SHELL)      * El nombre de login (LOGNAME)   * La ruta de búsqueda que se utiliza para buscar comandos    (PATH)      * Las configuraciones de terminal (TERM)
  • 19. Las variables locales se configuran utilizando el formato VARIABLE=valor. Por ejemplo, BACKUPDIR =/home/user2/myfiles configura la variable denominada BACKUPDIR como igual al valor de /home/user2/myfiles. Los nombres de las variables van en mayúscula por convención pero también pueden ir en minúscula. Utilice el comando echo para mostrar el valor de una variable. La figura ilustra cómo configurar y mostrar la variable BACKUPDIR. El signo de dólar antes de un nombre de variable instruye al shell para que utilice el valor de la variable. De otro modo, echo BACKUPDIR, sin el signo de dólar daría como resultado la cadena de texto BACKUPDIR, como se ilustra en el ejemplo.  Haga clic para modificar el estilo de texto del patrón  Segundo nivel  Tercer nivel  Cuarto nivel  Quinto nivel
  • 20. Las variables también pueden configurarse para que sean igual al resultado de un comando. Por ejemplo, DATE=`date` asignaría el valor de la fecha actual a la variable DATE. Cuando ha de mostrarse una variable, los acentos graves (`) indican al shell que utilice la fecha actual en lugar de la palabra "date". Los acentos graves y otros caracteres de encomillado se trataron anteriormente en este capítulo.  La ventaja de una variable es que una vez configurada puede hacerse referencia a ella muchas veces a lo largo de un script. Si el valor de la variable se cambia entonces todas las veces que se hace referencia a ella se utilizará el nuevo valor y no hacen falta otras modificaciones.
  • 21. Comandos condicionales  LOS OPERADORES DISPONIBLES PARA SENTENCIAS CONDICIONALES Y SUS SIGNIFICADOS Operador Significado Equivalente Matematico -eq Es igual a x == y -ge Mayor o igual x >= y que -gt Mayor que x>y -le Menor o igual x <= y que -lt Menor que x<y -ne No es igual a x != y
  • 22. comandos condicionales  Los comandos que llevan a cabo ciertas tareas basadas en si una condición tiene éxito o falla se denominan comandos condicionales. Los tres comandos condicionales utilizados más frecuentemente son if, test, y case.  COMANDO if  La forma más simple de un comando condicional es el comando if.  El comando if es un comando de shell incorporado que permite probar una condición y luego cambiar el flujo de la ejecución de un script de shell basándose en el resultado de la prueba.  Existen tres formatos del comando if. El comando fi (if invertido) se coloca siempre al final de un condicional if.  El Formato del Comando if-then (si-entonces):  if el comando tiene éxito then  ejecutar el/los comando(s) fi
  • 23. EJEMPLO #!/bin/bash x=3 y=9 if [ $x -lt $y ]    then       echo "x=$x es menor que y=$y" fi   x=3 es menor que y=9  El Formato del Comando if-then-else (si-entonces- de lo contrario):  if el comando tiene éxito then ejecutar el/los comando(s) else ejecutar el/los comando(s) fi
  • 24. EJEMPLO (Calculadora Básica)  #!/bin/bash echo "Ingrese el primer numero" read x echo "Ingrese el segundo numero" read y echo "¿Que operacion matematica desea hacer?" echo "1. Suma" echo "2. Resta" echo "3. Multiplicación" echo "Escoja una opción [1,2 or 3]? " read oper if [ $oper -eq 1 ] then echo "La suma es: " $(($x + $y)) else if [ $oper -eq 2 ] then echo "La resta es: " $(($x - $y)) else if [ $oper -eq 3 ] then echo "La multiplicacion es: " $(($x * $y)) else echo "Invalido argumento" fi fi fi
  • 25. El Formato del Comando if-then-elif (else if) (si-entonces-de lo contrario si): if el comando tiene éxito then ejecutar el/los comando(s) elif el comando tiene éxito then ejecutar el/los comando(s) else ejecutar el/los comando(s) fi
  • 26. EJEMPLO(Comparar dos numeros)  #!/bin/bash echo " Digite el primer número" read primero echo "Digite el segundo número" read segundo if [ $primero -eq 0 ] && [ $segundo -eq 0 ] then echo "Num1 y Num2 son cero" elif [ $primero -eq $segundo ] then echo "Ambos numeros son iguales" elif [ $primero -gt $segundo ] then echo "$primero es mayor que el $segundo" else echo "$primero es menor que el $segundo" fi
  • 27.  EJEMPLO (Montar una particion) #!/bin/bash echo "¿Desea montar una particion?. ¿S/n?" read x if [ $x = S ] then echo "Es necesario instalar el programa pysdm.¿desea instalarlo?.¿S/n? " read y if [ $y = S ] then sudo apt-get install pysdm echo "Elprograma pysdm esta a punto de iniciar.." sleep 3 echo "Utilice el entorno grafico para montar la particion" sudo pysdm echo "Saliendo del programa.." sleep 3 echo "¿Desea reiniciar el sistema?. ¿S/n?" read z if [ $z = S ] then reboot else clear exit fi else exit fi else exit fi
  • 28. Comando test  El comando condicional incorporado al shell test se utiliza a menudo para probar una o más condiciones que siguen al comando if.  El comando test evalúa una expresión, y si el resultado es verdadero, devuelve un estado de salida de cero. De otro modo el resultado es falso, y devuelve un estado de salida que no es cero.  La expresión compara normalmente dos números o dos cadenas para comprobar si los valores son idénticos. La expresión se utiliza también para probar el estado de un archivo.  Formato del Comando:  if test expresión o if [expresión]  then  ejecutar comando(s)  fi
  • 29. En el ejemplo que figura a continuación, test evalúa la variable $answer para determinar si el usuario respondió "y" (de "yes" - sí) a la pregunta ( "¿Despejar la pantalla antes de mostrar el listado de archivos?"). De ser verdadera, se despeja la pantalla y se muestra el contenido del directorio actual. De ser falsa, se muestra el contenido del directorio actual pero no se despeja antes la pantalla. #!/bin/ksh  echo "¿Despejar la pantalla antes de mostrar el listado de archivos?").   echo " enter y for Yes or n for No:c"  read answer  if test "$answer" = y  then         clear;ls  else         ls  fi  El comando test se utiliza tan a menudo en los scripts de shell que los corchetes ([ ]) pueden utilizarse como alternativa a tipear "test". Por ejemplo, la línea de más arriba "if test "$answer" = y" también podría escribirse así: if [ $answer = y ].  Nota: el signo != (no igual) puede utilizarse para probar si una cadena no es igual a otra.
  • 30. Comando case  Una forma de realizar la misma acción sin escribir tantas lineas de condicionales elif y con ello disminuir el tamaño del guión es la utilización de la sentencia case-in-esac. Esta sentencia permite vincular patrones de texto con conjuntos de comandos; cuando la variable de la sentencia coincide con alguno de los patrones, se ejecuta el conjunto de comandos asociados. La sintaxis de la sentencia case-in esac es como sigue.  Formato del Comando:  case valor de la variable in  value1 )         Comando         Comando         ;;  value2 )         Comando         Comando         ;;  *)         Comando        ;; esac
  • 31. El valor de una variable de case se compara con value1, value2, etcétera, hasta hallar una coincidencia.  Cuando un valor coincide con la variable de case, los comandos que siguen a ese valor se ejecutan hasta llegar a los punto y coma dobles (;;). Luego el control se dirige a toda la línea directamente después del enunciado esac.  Si el valor de una variable de case no coincide, el programa ejecuta los comandos después del valor por defecto *) hasta que se llega a los punto y coma dobles o hasta esac.  EJEMPLO  #!/bin/bash echo "Diga si o no:" read VAR  case "$VAR" in si) echo "Escribiste -si-"  ;; no) echo "Escribiste -no-"  ;; *) echo "Lo que escribió no se acepta"  ;; esac  Observe que el carácter (*) utilizado en la última opción significa "patrón no contemplado" en este caso.
  • 32. El valor de una variable de case se compara con value1, value2, etcétera, hasta hallar una coincidencia.  Cuando un valor coincide con la variable de case, los comandos que siguen a ese valor se ejecutan hasta llegar a los punto y coma dobles (;;). Luego el control se dirige a toda la línea directamente después del enunciado esac.  Si el valor de una variable de case no coincide, el programa ejecuta los comandos después del valor por defecto *) hasta que se llega a los punto y coma dobles o hasta esac.  EJEMPLO  #!/bin/bash echo "Diga si o no:" read VAR  case "$VAR" in si) echo "Escribiste -si-"  ;; no) echo "Escribiste -no-"  ;; *) echo "Lo que escribió no se acepta"  ;; esac  Observe que el carácter (*) utilizado en la última opción significa "patrón no contemplado" en este caso.
  • 33. BUCLES Se puede utilizar bucles para controlar el flujo de ejecución de un script. Un bucle repite una secuencia de instrucciones hasta satisfacer una condición predeterminada. A menudo un script tiene que ver con llevar a cabo la misma operación o conjunto de operaciones de cada archivo en un directorio o lista, cada línea de un archivo, o cada palabra de una línea. El shell proporciona tres construcciones de bucle para lograr este tipo de acción: el bucle for, el bucle while y el bucle until.
  • 34. EL BUCLE FOR El bucle for ejecuta una lista de comandos una vez para cada valor de variable de bucle. Formato del Comando: for variable in list do Comandos Done El valor de la variable se cambia con cada pasada a través del bucle al siguiente valor en list. Cada vez que un valor es asignado, los comandos se ejecutan en el cuerpo del bucle. Cuando ya no quedan más valores en list, el bucle se termina.
  • 35. EL BUCLE WHILE El bucle while ejecuta repetidamente un grupo de comandos dentro del cuerpo de un bucle hasta que la condición de prueba de la expresión se hace falsa. En otras palabras, mientras la expresión sea verdadera, ejecuta estos comandos. Formato del Comando: while condición do Comandos done
  • 36. EL BUCLE UNTIL El bucle until es muy similar al bucle while pero ejecuta una serie de comandos mientras un comando continúe fallando (estado de salida no-cero). Cuando el comando finalmente se ejecuta con éxito, el bucle se termina y la ejecución pasa al primer enunciado que sigue a la construcción done. La condición until se verifica en la parte superior del bucle, no en la inferior. Formato del Comando: until condición do Comandos done
  • 37. Script1: Factorial de un número ingresado por el usuario .  #!/bin/bash  echo "ingrese el numéro para hallar su factorial"  read num  n=$num  fact=1  for (( i=1; i<=n; i++ ))  do  fact=`expr $fact * $i`  done  echo "el factorial de $num es: $fact "
  • 38. Script2: Verifica si un usuario está loggeado.  #!/bin/bash  echo "Ingrese l nombre de un usuario: "  read name  while who | grep $name  do  echo "$name está loggeado"  sleep 5  exit  done  echo "$name no está loggeado"
  • 39. Script3: Indica si un usuario está loggeado .  #!bin/bash  echo "ingrese un usuario"  read user  until  who | grep $user  do  echo "el $user no esta loggeado"  sleep 5  done  echo "el $user esta loggeado"
  • 40. Script4: ver que número es mayor, menor o igual. Script.sh num1 num2(asi se ejecuta el script).  #!/bin/bash  if [ $2 -gt $3 ]  then  echo "$2 es mayor"  elif [ $2 -eq $3 ]  then  echo "$2 = $3"  else  echo "$3 es mayor"  fi
  • 41. Script5: Permite crear respaldos de un carpeta deseada en un dirección ingreseda por el usuario. ● #!/bin/bash ● clear ● cd ● pwd ● echo "ingrese el path absoluto de la carpeta con el contenido que desea que se respalde" ● read path ● while [ ! -d $path ] ● do ● clear ● echo "$path no existe" ● echo "ingrese el path absoluto de la carpeta con el contenido que desea que se respalde una vez por semana" ● read path ● done ●
  • 42. clear  echo "ingrese el nombre de la carpeta donde se guardarán los resplados"  read name  echo "ingrese el path absoluto en donde quiere que se cree la carpeta respaldos"  read ruta  while [ ! -d $ruta ]  do  clear  echo "$ruta no es válido"  echo "ingrese el path absoluto en donde quiere que se cree la carpeta $name"  read ruta  done
  • 43. mkdir $ruta/$name ● echo "ingrese el nombre del fichero donde se almacenarán y del cual se realizará un compresión" ● read fichero ● tar -cvf $ruta/$name/$fichero.tar $path/* ● sudo apt-get install ncompress ● compress -v $ruta/$fichero.tar $ruta/$name/$fichero.Z ● clear ● echo "Se han creado los respaldos de $path"