Que puedo hacer si necesito colocar muchos comandos de manera repetida para lograr lo que necesito? Los podemos colocar todos en un script. Aquí les comparto como diseñar un script sencillo que permite guardar todos los archivos PDF dentro de un subdirectorio de Downloads con un ejecutable.
Crear scripts es muy útil y nos puede salvar mucho tiempo!
Para esto vamos a crear un Shell Script ejecutable en bash como un archivo de texto con extensión .sh
. Podemos crearlo en cualquier editor de texto de preferencia. La forma más simple es directo en la terminal$ code nombreArchivo.sh
. Esto abrirá VSCode y nos permitirá crear el archivo directamente.
Comenzamos el archivo con:#!/bin/bash
Para especificar que es un archivo que se debe ejecutar en bash.
Seguido podemos comenzar a diseñar lo que queremos de forma intuitiva:
Describir en palabras lo que quiero lograr. Agregar # antes del texto para que esto quede como comentario.# Quiero que todos mis archivos PDF del directorio 'Downloads' se muevan a un directorio con nombre '_PDF' dentro de la misma.
Enumerar los pasos secuenciales en la computadora para poder llegar a eso. Escribirlos como comentarios con # al inicio de cada línea.
#!/bin/bash
# Quiero que todos mis archivos PDF del directorio 'Downloads' se muevan a un directorio con nombre '_PDF' dentro de la misma.# Dirigirme al directorio en donde se encuentra mi carpeta de Downloads.# Dentro de esta, crear un directorio llamado '_PDFs'. Si el directorio ya está creado, omitir este paso.# Seleccionar todos los archivos dela carpeta 'Downloads' y moverlos a la nueva carpeta.# Movernos a la nueva carpeta.# Listar los archivos dela nueva carpeta deforma detallada.
Editar debajo de cada comentario en forma de comandos como ejecutar cada paso tal cual como lo haríamos en la terminal.
#!/bin/bash
# Quiero que todos mis archivos PDF del directorio 'Downloads' se muevan a un directorio con nombre '_PDF' dentro de la misma.# Dirigirme al directorio en donde se encuentra mi carpeta de Downloads.cd$HOME/Downloads
# Dentro de esta, crear un directorio llamado '_PDFs'. Si el directorio ya está creado, omitir este paso.if [ ! -d"_PDFs" ]; then
mkdir _PDFs
fi# Seleccionar todos los archivos de la carpeta 'Downloads'y moverlos ala nueva carpeta.
mv ./*.pdf _PDFs
# Movernos ala nueva carpeta.cd _PDFs
# Listar los archivos de la nueva carpeta de forma detallada.
ls -lh
Crear un shell script a partir de todos los pasos copiando este texto dentro de un archivo .sh
con Vim, VSCode, o guardando el archivo con extensión .sh
.
Al terminar, asegurarse de cambiar los permisos del archivo para poder ejecutar con chmod +x nombreArchivo.sh
y ejecutar.
Para ejecutar, hay como escribir en la terminal en el directorio en el que lo guardamos bash
+ ENTER y seguido, ./nombreArchivo.sh
+ ENTER.
#!/bin/bash
# Quiero que todos mis archivos PDF del directorio 'Downloads' se muevan a un directorio con nombre '_PDF' dentro de la misma.# Dirigirme al directorio en donde se encuentra mi carpeta de Downloads.cd$HOME/Downloads
# Dentro de esta, crear un directorio llamado '_PDFs'. Si el directorio ya está creado, omitir este paso.if [ ! -d"_PDFs" ]; then
mkdir _PDFs
fi# Seleccionar todos los archivos de la carpeta 'Downloads' y moverlos a la nueva carpeta.
mv ./*.pdf _PDFs
# Movernos a la nueva carpeta.cd _PDFs
# Listar los archivos de la nueva carpeta de forma detallada.
ls -lh
Si esto no funciona en tu sistema, puedes revisar y editar lo que funcione mejor, y déjamelo saber en los comentarios. Buscando ya he encontrado muchas mejores formas de hacer esto y más.
Nunca paremos de aprender!!
att: Ricardo Morejón