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.shes 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 comandoclearborra todos los mensajes iniciales.En Windows deberíamos escribir en su lugar:
echo off clslo que suprime “el eco” de comandos que se están ejecutando y borra el texto que haya en la ventana (clear screen).
-
cdes un comando que nos situa en el directorio de trabajo especificado. En Windows sería algo así como:cd C:\carpeta1\carpeta2 -
El comando
mdbookinvoca 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 -
readespera 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 miCarpetaentrecomillar los nombres de carpetas y ficheros:
cd "mi carpeta"