Un script de shell es un archivo que contiene una serie de comandos en orden de ejecución. Cuando se ejecuta el script de shell, ejecuta todos los comandos uno por uno en orden. Un script de shell se puede ejecutar varias veces, por lo que ahorra el tiempo de ejecutar cada comando uno por uno.
Algunas de las razones por las que necesita scripts de shell son las siguientes:
- Para evitar el trabajo repetitivo
- Para automatizar operaciones realizadas con frecuencia
- Combine secuencias de comandos complejas y repetitivas en un solo comando simple.
En una publicación anterior, explicamos cómo crear y ejecutar el script de shell en Ubuntu. Esta publicación trata sobre cómo crear y ejecutar un script de shell en el sistema Debian. Usaremos el shell bash, que es el shell predeterminado en Debian.
Nota:Los pasos explicados en esta publicación han sido probados en Debian 10 (Buster) sistema.
Paso 1:Creación de la secuencia de comandos de Shell
Para crear un script de shell, solo necesita crear un archivo de texto sin formato usando cualquier editor de texto como Nano, Vim, Gedit, etc. Luego, en el archivo de texto, deberá agregar los comandos en la misma secuencia que desea que sean ejecutado. Recuerde los siguientes puntos al crear un script de shell:
- Comience el script de shell con "#!/bin/bash"
- Cada línea se trata como un comando
- Inicie una línea de comentario con #
Crearemos el script llamado "testscript" usando el editor Nano; sin embargo, puede elegir cualquier editor de su elección. Antes de crear un archivo de script, asegúrese de que su nombre no entre en conflicto con los comandos. Puede verificar esto escribiendo "cuál" seguido del nombre del script:
$ which script_name
En nuestro ejemplo, sería:
$ which testscript
El siguiente resultado muestra que no existe tal comando o programa instalado con el nombre "testscript". Por lo tanto, podemos continuar con este nombre.
Para crear el script llamado "testscript", ejecute el siguiente comando en la Terminal:
$ sudo nano testscript.sh
Después de ejecutar el comando anterior, se abrirá un archivo vacío en el editor Nano. Primero, agregue “#!/bin/bash” al principio del archivo. Ahora agregue los comandos que desea ejecutar en el script con cada comando en una línea separada. Aquí queremos crear un script que pueda realizar las siguientes tareas:
- Imprimir la dirección IP de nuestro sistema
- Lista de archivos en el directorio de descargas
- Copia de seguridad de archivos del directorio Descargas al directorio Documentos
Entonces, hemos escrito las siguientes líneas de comandos en nuestro script:
#!/bin/sh echo "Now we are going to print IP address" ip addr | grep ens37 echo "Now we are going to ping Google website" ping -c 2 google.com echo "Now we are going to backup our Downloads directory to Documents directory" cp -rv ~/Downloads ~/Documents
Después de ingresar los comandos en el script, guárdelo y ciérrelo.
Así es como se ve nuestro archivo de script en el editor Nano:
Paso 2:Establecer permisos de ejecución
Ahora deberá hacer que el archivo de script sea ejecutable para ejecutarlo como un programa. Puede hacerlo ejecutando el siguiente comando en la Terminal:
$ chmod +x script_name
En nuestro ejemplo, sería:
$ chmod +x testscript.sh
Paso 3:Ejecución de la secuencia de comandos de Shell
Después de que se hayan aplicado los permisos de ejecución al script, puede ejecutar el script de la siguiente manera
$ ./script_name
Nota:si su secuencia de comandos se ha colocado en algún directorio que no sea el directorio de trabajo actual, asegúrese de navegar a ese directorio primero y luego ejecute la secuencia de comandos.
Por ejemplo, para ejecutar nuestro script llamado "testscript.sh", el comando sería:
$ ./testscript.sh
Después de ejecutar el script, el shell ejecutará cada comando contenido en el script en una secuencia y mostrará el resultado. A continuación se muestra el resultado de nuestro script:
Aparte de ejecutar el script usando ./script_name comando, hay dos formas más de ejecutar el script, que son las siguientes:
$ bash script_name $ sh script_name
Así es como puede crear y ejecutar un script de shell en el sistema Debian 10 Buster.
Los scripts de shell son solo una serie de comandos que agrega en un archivo y los ejecuta juntos. Después de seguir esta publicación, esperamos que ahora pueda crear fácilmente un script de shell y automatizar trabajos repetitivos.