¿Qué es un script?

Script

La red está llena de terminología que para los que no son informáticos podría resultar algo confusa. Algunos de estos términos pueden ser código fuente, guiones o script, snippets, etc. Bien, en cuanto a código fuente, es todo aquel texto o información escrita usando algún lenguaje de programación y respetando una determinada sintaxis para formar un algoritmo o función específica que compondrá al programa.

Por tanto, código fuente es un término algo más genérico y amplio, pudiendo englobar también dentro a los otros términos, ya que un snippet es un fragmento de código fuente que no llega a ser demasiado complejo por lo general. Por ejemplo, cuando nos dedicamos al diseño web o necesitamos insertar algún banner en nuestra web, normalmente los proveedores de anuncios como Google Adsense o Amazon Afiliados nos dan un snippet con el código HTML para poderlo insertar en nuestra web. Por tanto no es un programa completo, sino más bien pequeñas partes de código reutilizables.

Lenguaje interpretado vs lenguaje compilado:

Interpretado vs compilado

Si te estás preguntando qué es un script o guión, debes saber que en programación se usa este término para referise al código fuente escrito en algún tipo de lenguaje interpretado (casi siempre). ¿Y qué diferencia existe con respeto a los lenguajes de programación compilados tradicionales? Pues que a diferencia de éstos, el código fuente no se compila una sola vez y se transforma en un binario, sino que se necesita de un intérprete que haga de intermediario y cada vez que se quiere ejecutar el programa, el intérprete deberá traducir el código para que la máquina lo entienda. Es decir, los pasos resumidos serían:

CentOS 7
Artículo relacionado:
Guía de instalación de CentOS 7 paso a paso
  1. Escribir el código fuente del programa usando algún lenguaje de programación para compilar como C, BASIC, C++, Ada, ALGOL, D, COBOL, GO, Fortran, G, Lisp, Pascal, Swift, Visual Basic, etc. El código se puede escribir en un editor de texto cualquier o usando un entorno de desarrollo más completo o IDE.
  2. Compilamos el código fuente utilizando algún compilador, como por ejemplo GCC de GNU. Con ello conseguimos transfromar esas órdenes en un lenguaje de alto nivel que solo comprenden los programadores y los compiladores en un lenguaje máquina o bnario que es entendible o ejecutable por la CPU.
  3. El binario puede ser ejecutado todas las veces que necesitemos sin volver a pasar por los pasos previos. De hecho, la mayoría de distribuidores de software nos hacen llegar directamente el binario para ejecutarlo en nuestro equipo. Será el sistema operativo el que gestione los procesos necesarios para ello, syscalls, etc.

Por otro lado, los scripts no siguen esos pasos y se usan lenguajes interpretados. Existen muchos lenguajes interpretados, como pueden ser el propio usado en el intérprete Bash, que será el más usado en GNU/Linux y otros Unix, además de lenguajes tan conocidos como Perl, Python, Ruby, JavaScript, etc. Con ellos se puede escribir el código que compondrá el script que no será más que un fichero de órdenes o procesmaiento por lotes. Evidentemente según el lenguaje usado, la sintaxis variará. En el caso de un lenguaje interpretado, el orden cambiaría a:

  1. Escribimos el script o código fuente usando un lenguaje de programación cualquiera. También podemos usar un IDE o simplemente un editor de texto.
  2. En este caso no se compila, sino que directamente se puede ya ejecutar con ayuda del intérprete. Es decir, si usamos Bash, necesitamos de éste instalado en el sistema para poder ejecutar nuestro script. Si usamos un script en Python, necesitamos el intérprete Python instalado, etc.
  3. Cuando ejecutamos el script, será el intérprete el que interprete las órenes o lenguaje que hay en él (de ahí su nombre), es decir, esas instrucciones no pasan directamente al sistema operativo y CPU, ya que no las reconocería sin ayua del intermediario o traductor que es el intérprete.

Dicho esto vemos que en uno u otro caso hay ventajas y desventajas. En el caso de los compilados no necesitan compilación en tiempo de ejecución, por tanto, una vez compilados la primera vez podremos ejecutar el binario todas las veces que queramos sin perder recursos en ello. No es así en los scripts, que necesitarán destinar recursos también para el intérprete, por tanto correrá más lento por lo general.

Creando nuestro primer script en Linux:

Logo de Bash

En nuestro ejemplo vamos a usar como lenguaje de programación interpretado el propio de Bash, y por tanto nuestro intérprete será Bash. Antes de nada debemos conocer que muchos ficheros de guión tienen encabezamientos conocidos como shebang según el intérprete usado. Por ejemplo, en LInux podemos encontrarnos con diferentes intérpretes, en el caso de Bash, el shibang es #!/bin/bash, pero en cualquier otro caso será el binario que apunta hacia el intérprete o shell en este caso.  Además, en el caso de Unix y Linux, el fichero de script suele tener la extensión .sh.

Pendrive USB Linux Booteable
Artículo relacionado:
Cómo crear un usb booteable desde la terminal en cualquier distribucion

En el script podremos usar comandos del intérprete, operandos, constantes, etc. Por ejemplo, podemos crear un simple script para hacer cópias de seguridad en nuestro sistema y crear un registro con la fecha creando un fichero llamado backup.sh con nuestro editor det texto favorito. Su contenido será:


<div>

<pre><span class="com">#<span class="simbol">!</span>/bin/bash
</span></pre>
<pre>tar cvf /backup/copia<span class="simbol">.</span>tar /home/usuario</pre>
<pre>date <span class="simbol">></span> /backup/log_copia</pre>
</div>

Por ejemplo, en el ejemplo anterior creará una copia de seguridad del directorio /home/usuario y lo empaqueta en un tarball llamado copia.tar, para luego escribir un log de fecha. Para ejecutarlo, tendremos que darle permisos de ejecución, por ejemplo:


chmod +x backup.sh

./backup.sh

Un sencillo ejemplo que creo que alcare para los más novatos lo que es un script. Que es una duda bastante recurrente últimamente…


3 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   dem dijo

    como modifico el desktop.ini
    saludos

  2.   antonio dijo

    Pues menos mal que lo has explicado de forma sencilla. Lo tengo todo clarisimo…solo que tendre que buscar ahora lo que es un «bash»,,»snippets», syscalls, etc etc etc, por lo demas, todo clarisimo. Solo una cosita nada mas; Si me sale una ventana en la que me da tres opciones ( cancelar y otras dos mas, no recuerdo) sobre un script, que debo hacer normalmente?,,puedo meter algun tipo de virus?. Porque yo no recuerdo querer bajarme nada para que me salga dicha ventana. Explicaselo a un torpe, por favor

  3.   Sebastian Morales dijo

    Me ha servido bastante, sin embargo es muy confuso el código de ejemplo puesto que no conozco la mayoría de las etiquetas, quisiera que hubieses colocado para que sirve cada cosa que pusiste en el código y así entenderlo bien, también me quedó la duda de que es un archivo .sh?