La guía para principiantes de secuencias de comandos en Linux

La guía para principiantes de secuencias de comandos en Linux

¿Alguna vez ha querido aprender «scripting» en Linux? Hacerlos es más fácil de lo que piensas. A veces, los scripts (a menudo denominados scripts de shell o bash) son programas reales con un código complicado en su interior. Otras veces, son solo una larga lista de tareas que los usuarios organizan para hacer que las cosas se hagan con Linux de forma más rápida y sencilla.

En este artículo, hemos decidido hacer una guía rápida que explica cómo hacer un script de shell básico en Linux. Este tutorial no te convertirá en un Intento o experto en secuencias de comandos. En su lugar, le mostrará lo fácil que es comenzar (y las mejores prácticas) con la creación de scripts en Linux.

¿Por qué harías un guión?

Hacer scripts en Linux es una habilidad muy útil. Incluso si no entiende completamente Bash, puede usar su conocimiento limitado de la terminal para automatizar y «realizar en masa» algunas tareas, o simplemente para abrir múltiples aplicaciones simultáneamente.

Por ejemplo: tal vez acabas de construir Arch Linux desde cero. El sistema operativo está instalado, junto con todos los paquetes básicos, y puede iniciarse en la terminal cuando se inicia el sistema operativo. Arch Linux tarda en configurarse, por lo que el proceso no se completa.

linux-scripting-arch-linux-setup-script

Es en este punto donde el usuario puede escribir un script Bash y lograr todo a la vez. Nada de esto es programación, o avanzado para el caso. Sin embargo, dado el hecho de que el usuario entiende lo suficiente sobre la forma en que funciona Arch Linux, podría automatizar casi todo el proceso posterior a la instalación (entorno de escritorio, controladores, configuración del usuario, etc.).

¡El único límite para su script bash es su propio conocimiento de Linux y Bash! Hacerlos es más fácil de lo que piensas.

Primeros pasos – Shebangs

Al escribir código, es necesario especificar cosas y cargar recursos. Al crear secuencias de comandos con el shell, también se deben especificar algunas cosas. En bash scripting, esto se conoce como «shebang». Los shebangs utilizados en los scripts le dicen al script bajo qué intérprete debe ejecutarse. Esto podría ser Bash o cualquier otro script disponible en su sistema. Tenga en cuenta que los diferentes idiomas tienen sus propios shebangs.

Por ejemplo: al escribir un script de Python, el shebang sería #!/usr/bin/pythonetc.

Bash tiene muchos shebangs diferentes que se pueden usar, pero la mayoría de los usuarios probablemente solo hayan visto el #!/bin/bash una. Como regla general, utilice #!/bin/bash al escribir un script simple y no planea sacarlo de Linux. Todas las distribuciones modernas de Linux tienen la misma versión de bash, y el shell de bash generalmente se encuentra en el mismo lugar.

Otro tinglado que demuestra ser útil es el #!/usr/bin/env bash el asunto. Este está diseñado para la portabilidad y debe usarse si el script está diseñado para ejecutarse en otros sistemas operativos similares a Unix (BSD, macOS, etc.).

Mejores prácticas

Escribir guiones en Bash puede ser un proceso complicado si el escritor lo hace así. La mayoría de las veces, los scripts son solo una colección de diferentes operaciones. Mover un archivo, descargar algo, instalar programas y ese tipo de cosas.

  • Tenga en cuenta que Bash es un lenguaje diseñado para manipular archivos y procesos en el sistema. Si Bash satisface sus necesidades, eso es bueno. Sin embargo, comprenda que para la programación avanzada, Bash realmente no es la opción correcta, y sería mejor pasar a algo como Python.
  • Haga que sus scripts sean compatibles con «SH» y en el formato «.sh» si el plan es usar scripts en algo más que una plataforma Linux. Aunque otros sistemas operativos similares a UNIX pueden tener shells «similares a bash», algunos no tienen bash en absoluto, y es bueno estar preparado para esto.
  • Aprenda el shell Bash y cómo funciona. Te ayudará a escribir mejor tus guiones.
  • Siempre use un shebang y, lo que es más importante: usa el correcto. Puede significar la diferencia entre un buen guión y uno pésimo que no funciona bien.
  • Comente siempre cada operación. En seis meses, puede volver a su guión y preguntarse qué significa todo, por lo que es crucial que su guión esté bien documentado y sea fácil de entender (para usted y cualquier otra persona que pueda verlo).
  • Haz que tu código sea legible. Incluso si su script no es nada complejo, aún debería tener sentido, y hacerlos es más fácil de lo que piensa.
  • Pruebe su guión en busca de errores antes de dárselo a otros. No haga que otros prueben errores por usted. Idealmente, los guiones deberían funcionar antes de enviarlos para que la gente los use.

hacer un guion

Para comenzar a crear secuencias de comandos, todo lo que necesita es un editor de texto. Cualquier editor de texto simple funcionará, no tiene que ser complicado ni completo. Para este ejemplo, crearemos un script de actualización de Ubuntu simple usando Gedit.

Esta primera parte del guión es el shebang, como se mencionó antes. Esto permite que la secuencia de comandos le diga al intérprete qué debe usar para comprender el código.

A continuación, escribamos un comentario. Esto permitirá que cualquier persona que use el script entienda qué debe hacer el código. Se pueden agregar comentarios a un script colocando un símbolo «#». Cualquier cosa posterior no será recogida por el script.

# My Simple Ubuntu Update Script

Ahora es el momento de agregar el código al script. En este caso, estamos trabajando en la creación de un script bash que ejecutará los dos comandos de actualización de Ubuntu en sucesión. Comience con el comando actualizar fuentes de software.

La segunda parte del guión es el apt upgrade dominio. Este comando permite instalar las actualizaciones previamente marcadas. Agrega un -y hasta el final para que el script no necesite ninguna interacción del usuario. Esto permitirá que el comando se actualice por sí mismo.

linux-scripting-making-script-with-gedit

Guarde el script con una extensión «.sh». Por ejemplo, «myscript.sh».

Para ejecutar el script, abra una terminal y escriba:

sudo chmod +x myscript.sh

Esto marcará el script recién creado como ejecutable. No siempre es necesario hacer esto con los scripts, ya que en su mayor parte Bash lo ejecutará de todos modos. De todos modos, esta es una buena práctica al crear secuencias de comandos.

Para ejecutar el script recién creado, ejecute el siguiente comando:

linux-scripting-ejecutando-un-script

Extensiones de archivo

No hay diferencia en las extensiones de archivo para los scripts. Nombrar un archivo con la extensión de archivo «.sh» hace poco para afectar la forma en que se ejecuta el «programa». Un script de Bash aún se ejecutará sin extensión de archivo: archivos de texto en blanco y todo lo demás, siempre que estén presentes los comandos y argumentos correctos.

Aunque el shell de Bash ignora las extensiones de archivo, eso no significa que el escritor del script deba hacerlo. Algunos entornos de escritorio que permiten configurar scripts de shell para que se ejecuten al inicio dependen de que el script tenga la extensión de archivo «.sh» correcta. Esto también ayuda a los fines de la organización.

Cuando se trata de eso, la mayoría de los scripts de shell se guardan como archivos «.sh» para la portabilidad. El «sh» no tiene nada que ver con Bash en sí, y el script puede ejecutarse con cualquier shell compatible.

Alternativamente, los scripts se pueden guardar como .bash, .ksh (Unix korn shell), etc. Estas extensiones de archivo son inferiores y realmente limitan la utilidad de un script. Esto se debe al hecho de que están diseñados solo para los shells que usan esas extensiones.

Recursos de código

linux-scripting-bash-usuario-repositorio

Para aquellos que buscan scripts de Bash útiles, consulte el Repositorio de usuarios de Bash en Reddit. ¡Es una colección de scripts ordenados y útiles que son libres de usar y modificar!

Además, aquellos que buscan aprender la naturaleza avanzada de Bash y la programación con el shell deben consultar código libre. El sitio web tiene una guía de lecciones completa que enseña todo lo que hay que saber sobre las secuencias de comandos avanzadas de Bash.

Conclusión

Aunque la creación de scripts con Bash en Linux no es una característica única (las Mac también tienen bash), tiende a ayudar a los usuarios de Linux en general. Teniendo en cuenta que gran parte de Linux se puede lograr bajo la terminal, aprender a manipular el shell es muy útil.

¿Qué scripts de Bash usas en Linux para hacerte la vida más fácil? ¡Cuéntanos a continuación!

Imagen destacada: Jm3

Experto Geek - Tu Guía en Tendencias Tecnológicas