Saltar la navegación

Creación y uso de scripts

¿Cómo creo un script?

La forma más fácil de crear un script, es través de un editor de textos, tales como: vi, nano, o cualquier otro.

Por facilidad, en este taller haremos uso de nano. Así que, para crear el primer script, usaremos el comando nano seguido del nombre que le queramos dar al script. Por ejemplo:

       $nano bienvenido.sh

Luego escribiremos y guardaremos el script, conforme a los siguientes pasos.

1. Al ejecutar nano, se muestra la ventana de edición que es similar a ésta. Al final se ilustran los comandos disponibles.
El caracter "^" refiere a la tecla "Ctrl"

Ventana de edicion

Para dar certeza de que se trata de un script, en la primera línea se recomienda hacer referencia a la ubicación del interprete que será usado para su ejecución. En nuestro caso escribiremos la línea.

         #!/bin/bash

2. A continuación, en cada línea escribiremos cada comando ilustrado en la sección anterior.

3. Al terminar guardaremos el script, usando la combinación de teclas: Ctrl X (^X Exit), que se muestra en la lista de comandos en la parte inferior de la pantalla. Al pulsar Ctrl X, El sistema pregunta si se quieren guardar los cambios, se contesta con Y. De esta manera, guarda y regresa a nuestro shell.

Guardar archivo

       

Y ahora. ¿Cómo lo ejecuto?

Bien, Hay diferentes maneras de ejecutar un script, pero las más usuales son:

  • Pasando el nombre del script como argumento del shell, por ejemplo:

           $bash bienvenido.sh

  • Y la forma más usada, es ejecutándolo directamente. Solo que para ello, es necesario agregar el permiso de ejecución (x) al script creado, para el tipo de usuario al que le queramos otorgar el derecho de ejecución del script. Para ésto se usa el comando chmod, con la siguiente sintaxis:

                chmod tipousuario operador permisos listadeobjetos

Donde tipo de usuario puede ser: u, g, o, a. O cualquier combinación de las primeras tres. Mientras que operador, puede ser +, -, ó =, dependiendo si se quiere agregar, quitar o asignar los permisos especificados. Ahora bien, permisos puede ser: r, w, x, ó cualquier combinación válida. Finalmente va la lista de objetos sobre los cuales se aplicarán los permisos. Para el caso particular de un script, sólo se agregará el permiso x. Ejemplo:

        $chmod u+x bienvenido.sh 

  • Una vez aplicado el permiso de ejecución, ya puede ejecutarse directamente el script creado. Ejemplo:

        $./bienvenido.sh

   

Podemos jugar a cambiar la u por g, por o, por a o por cualquier combinación de las primeras tres. Y el signo + lo podemos cambiar por - o por =. Y revisar las implicaciones.

¿Pero, que elementos puedo incluir en un script?

La estructura básica de un script puede incluir los siguientes elementos:

1. La línea que hace referencia al shell que interpretará al script, si se incluye, debe ser la primera línea, y deberá escribirse tal como se indica. De otra manera se interpretará como un comentario. 

        #!/bin/bash
 

2. Comentarios. Estos se usan para indicar la acción o resultado de los comandos que siguen     

       #Este es un comentario

3. Comandos simples en el orden en el que se desee que sean ejecutados.

        ls -l

        who

        ps -ax

4. Uso de caracteres especiales. Algunos caracteres tienen una función especial cuando se incluyen en algún comando.

    Las comillas y los apostrofos se utilizan para delimitar cadenas. Pero pueden interpretarse de diferente manera, si en éstas se incluyen variables y comandos. Ejemplos:

    echo "Esta es una cadena simple"

    echo 'Esta es otra cadena simple'

   echo  "Hola $USER"       #En este caso, primero se extrae el contenido de la variable $USER, y luego se despliega la cadena

   echo 'Hola $USER'        #Pero en este caso, se despliega la cadena tal cual

   echo "Hoy es `date`"      #En este caso el caracter "`" se utiliza para ejecutar un comando dentro de la cadena, y luego concatena el                                               #resultado con la cadena inicial. 

  echo "Los usuarios activos en el sistema son: $(date)"    #Esta es otra forma válida de interpretar un comando dentro de una cadena

5. Uso de variables. Las variables son esenciales en cualquier lenguaje de programación. Aquí solo se darán ejemplos simples. A una variable se le puede asignar un valor mediante el operador de asignación  "=", o a través del comando "read". Al asignar un valor mediante el signo "=", no deben dejarse espacios entre la variable, el signo y el valor. Entonces la forma correcta sería:

     Curso="Linux Basico"

     echo "Hola $USER, bienvenido al curso: $Curso"

Otra forma correcta de asignación sería:

     echo -n "Hola, me puedes decir cómo te llamas?: "

     read Nombre

     echo -n "Y tus apellidos? "

     read Apellidos

    Curso="Habilidades basicas en TI"

    echo "Hola $Nombre $Apellidos. Bienvenido al curso: $Curso"

 Nota a recordar: Para asignar un valor a una variable, usa cualquiera de las formas válidas de asignación, con el nombre de variable. Y para acceder al contenido de la variable, usa el signo "$" junto con la variable.

    5. Estructuras de control. Se denominan asi a ciertas instruciones de programación que se usan cuando se desea ejecutar un grupo de comandos solo si se cumple una condición o mientras se cumpla una condición.