GNU/Linux >> Tutoriales Linux >  >> Linux

Shell Scripting Parte I:Primeros pasos con bash scripting

Hola. Esta es la primera parte de una serie de tutoriales de Linux. Al escribir este tutorial, asumo que usted es un principiante absoluto en la creación de scripts de Linux y está muy dispuesto a aprender. Durante la serie, el nivel aumentará, por lo que estoy seguro de que habrá algo nuevo incluso para los usuarios más avanzados. Así que comencemos.

Introducción

La mayoría de nuestros sistemas operativos, incluido Linux, pueden admitir diferentes interfaces de usuario (UI). La interfaz gráfica de usuario (GUI) es una interfaz de escritorio fácil de usar que permite a los usuarios hacer clic en iconos para ejecutar una aplicación. El otro tipo de interfaz es la interfaz de línea de comandos (CLI), que es puramente textual y acepta comandos del usuario. Un shell, el intérprete de comandos lee el comando a través de la CLI e invoca el programa. La mayoría de los sistemas operativos en la actualidad proporcionan ambas interfaces, incluidas las distribuciones de Linux.

Al usar shell, el usuario debe escribir una serie de comandos en la terminal. No hay problema si el usuario tiene que hacer la tarea solo una vez. Sin embargo, si la tarea es compleja y debe repetirse varias veces, puede volverse un poco tediosa para el usuario. Afortunadamente, hay una forma de automatizar las tareas del shell. Esto se puede hacer escribiendo y ejecutando scripts de shell. Un script de shell es un tipo de archivo que se compone de una serie y secuencia de comandos compatibles con el shell de Linux.

¿Por qué crear scripts de shell?

El script de shell es una herramienta muy útil para automatizar tareas en sistemas operativos Linux. También se puede utilizar para combinar utilidades y crear nuevos comandos. Puede combinar secuencias de comandos largas y repetitivas en un comando simple. Todos los scripts se pueden ejecutar sin necesidad de compilarlos, por lo que el usuario tendrá una forma de crear prototipos de comandos sin problemas.

Soy nuevo en el entorno Linux, ¿todavía puedo aprender a crear guiones de shell?

¡Por supuesto! La creación de scripts de shell no requiere un conocimiento complejo de Linux. Un conocimiento básico de los comandos comunes en la CLI de Linux y un editor de texto serán suficientes. Si es un principiante absoluto y no tiene conocimientos previos sobre la línea de comandos de Linux, este tutorial puede resultarle útil.

Creando mi primer script de shell

El bash (Bourne-Again Shell) es el shell predeterminado en la mayoría de las distribuciones de Linux y OS X. Es un proyecto GNU de código abierto que pretendía reemplazar al sh (Bourne Shell), el shell original de Unix. Fue desarrollado por Brian Fox y fue lanzado en 1989.

Siempre debe recordar que cada script de Linux que use bash comenzará con la siguiente línea:

#!/bin/bash

Cada script de Linux comienza con una línea shebang (#!). La línea de explosión especifica la ruta completa /bin/bash del intérprete de comandos que se usará para ejecutar el script.

¡Hola mundo!

Cada lenguaje de programación comienza con Hello World! mostrar. No terminaremos con esta tradición y crearemos nuestra propia versión de esta salida ficticia en secuencias de comandos de Linux.

Para comenzar a crear nuestro script, siga los pasos a continuación:

Paso 1: Abre un editor de texto. Usaré gedit para este ejemplo. Para abrir gedit usando la terminal, presione CTRL + ALT + T en su teclado y escriba gedit. Ahora, podemos comenzar a escribir nuestro guión.

Paso 2: Escriba el siguiente comando en el editor de texto:

#!/bin/bash 
echo "Hello World"

Paso 3: Ahora, guarde el documento con un nombre de archivo hello.sh. Tenga en cuenta que cada secuencia de comandos tendrá una extensión de archivo .sh.

Paso 4: En cuanto a las razones de seguridad impuestas por las distribuciones de Linux, los archivos y scripts no son ejecutables de forma predeterminada. Sin embargo, podemos cambiar eso para nuestro script usando el comando chmod en la CLI de Linux. Cierra la aplicación gedit y abre una terminal. Ahora escribe el siguiente comando:

chmod +x hello.sh

La línea anterior establece el permiso ejecutable para el archivo hello.sh. Este procedimiento debe realizarse solo una vez antes de ejecutar el script por primera vez.

Paso 5: Para ejecutar el script, escriba el siguiente comando en la terminal:

./hello.sh

Tengamos otro ejemplo. Esta vez, incorporaremos la visualización de información del sistema mediante el uso de los comandos whoami y date en nuestro script hello.

Abra hello.sh en nuestro editor de texto y editaremos nuestro script escribiendo:

#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"

Guarde los cambios que hicimos en el script y ejecute el script (Paso 5 en el ejemplo anterior) escribiendo:

./hello.sh

La salida del script será:

En el ejemplo anterior, los comandos whoami y date se usaron dentro del comando echo. Esto solo significa que todas las utilidades y comandos disponibles en la línea de comandos también se pueden usar en scripts de shell.

Generando salida usando printf

Hasta ahora, hemos usado echo para imprimir cadenas y datos de comandos en nuestro ejemplo anterior. Echo se utiliza para mostrar una línea de texto. Otro comando que se puede usar para mostrar datos es el comando printf. El printf controla e imprime datos como la función printf en C.

A continuación se muestra el resumen de los controles de impresión comunes:

Ejemplo 3:abriremos el hello.sh anterior y cambiaremos todos los ecos a printf y ejecutaremos el script nuevamente. Observe qué cambios ocurren en nuestra salida.

#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"

Todas las líneas están unidas entre sí porque no usamos ningún control en el comando printf. Por lo tanto, el comando printf en Linux tiene las mismas propiedades que la función C printf.

Para formatear la salida de nuestro script, usaremos dos de los controles en el resumen de la tabla anterior. Para que funcionen, los controles deben estar indicados por un \ dentro de las comillas del comando printf. Por ejemplo, editaremos el contenido anterior de hello.sh en:

#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"

El script genera lo siguiente:

Conclusión

En este tutorial, aprendió los conceptos básicos de las secuencias de comandos de shell y pudo crear y ejecutar secuencias de comandos de shell. Durante la segunda parte del tutorial, presentaré cómo declarar variables, aceptar entradas y realizar operaciones aritméticas usando comandos de shell.


Linux
  1. Introducción a los cortafuegos de Linux

  2. Comenzando con Zsh

  3. Primeros pasos con PostgreSQL en Linux

  4. ¿Cómo analizar Json con secuencias de comandos de Shell en Linux?

  5. Primeros pasos con SSH en Linux

Primeros pasos con el sistema operativo Linux

Tutorial de Vagrant:Primeros pasos con Vagrant en Linux

Comenzando con VirtualBox en Linux – Parte 1

Primeros pasos con Flutter en el escritorio de Linux

¿Qué es Shebang en Linux Shell Scripting?

Tutorial de introducción a Bash Scripting con 5 ejemplos prácticos

    Control Uso
    \" Comillas dobles
    \\ barra invertida
    \b Retroceso
    \c No producir más resultados
    \e Escapar
    \n Nueva Línea
    \r Retorno de carro
    \t Pestaña horizontal
    \v Pestaña vertical