Teclas de atajo

Pulse o para navegar entre capítulos

Pulse S o / para hacer búsquedas

Pulse ? para mostrar esta ayuda

Pulse Esc para ocultar esta ayuda

Scripts de trabajo

El uso de comandos puede llegar a ser algo farragoso, por lo que es costumbre que, para realizar una tarea de forma repetitiva, creemos una lista de comandos y la pongamos en un archivo sobre el que haremos doble clic con el ratón para ejecutarlo. A este tipo de archivos de texto con comandos se les llama scripts.

Nuestro primer script

Vamos a crear una carpeta para nuestro primer proyecto. Seguidamente creamos un archivo llamado verificar_mdbook.sh.

Nota:


El sufijo .sh es típico de sistemas Linux o Mac, aunque se puede omitir. En Windows, suele ser .bat

El contenido del script puede ser algo así como:

clear
cd /Users/usuario/Documentos/Proyectos/miProyecto
../herramientas/mdbook --version
read

Veamos lo que significan estos cuatro comandos:

  • clear. Al hacer doble clic sobre el script, este se ejecuta en una nueva ventana (dependiendo de los mecanismos de cada sistema operativo). El comando clear borra todos los mensajes iniciales.

    En Windows deberíamos escribir en su lugar:

    echo off
    cls
    

    lo que suprime “el eco” de comandos que se están ejecutando y borra el texto que haya en la ventana (clear screen).

  • cd es un comando que nos situa en el directorio de trabajo especificado. En Windows sería algo así como:

    cd C:\carpeta1\carpeta2
    
  • El comando mdbook invoca el programa. Va precedido por el directorio donde lo hemos instalado. Los dos puntos .. representan el directorio padre del actual, por lo que indicamos que busque el programa en ../herramientas

  • read espera a que el usuario pulse una tecla antes de cerrar la ventana. En Windows el comando sería:

    pause
    

Identificar script como tal

En Windows, los scripts se identifican mediante el sufijo .bat

En Linux, la primera línea de texto ha der ser:

#!/usr/bin/env bash

cambiando bash por el nombre del programa shell (intérprete de comandos) que estemos usando en el Terminal (si no es bash). El texto del script queda así:

#!/usr/bin/env bash
clear
cd /Users/usuario/Documentos/Proyectos/miProyecto
../herramientas/mdbook --version
read

En Mac, para identificar un script como tal, pulsar sobre el mismo con el botón secundario del ratón y, en el menú emergente, seleccionar la opción “obtener información”. Configurar la opción “abrir con” y seleccionar el programa “Terminal”.

Permisos de ejecución

En Linux/Mac es necesario otorgar permisos de ejecución al script. Supongamos un fichero mi_script.sh. Abrimos el Terminal de comandos y ejecutamos:

$ cd /Users/usuario/Documentos/Proyectos/miProyecto
$ chmod +x mi_script.sh

El comando chmod sirve para cambiar los permisos. El argumento +x activa el permiso de ejecución del script que se indica.

Espacios en los argumentos


Ya hemos visto que, en los comandos, los argumentos se separan con espacios. Pero si el nombre de un programa, carpeta o fichero tiene espacios, podemos tener problemas:

cd mi carpeta En este caso, se buscará una carpeta llamada “mi”.

Hay dos formas de solucionar esto:

  • evitar los espacios en los nombres de carpetas y ficheros (recomendado). Usar un carácter de subrayado en su lugar, o algo parecido:

    cd mi_carpeta
    cd miCarpeta
    
  • entrecomillar los nombres de carpetas y ficheros:

    cd "mi carpeta"