5 ejemplos de scripts Bash que le ayudarán a aprender a programar en Linux

Las secuencias de comandos Bash son una de las formas más populares y accesibles de programar su computadora Linux. Estos sencillos ejemplos de scripts le ayudarán a comprender el proceso y le presentarán los conceptos básicos de la programación Bash.

1. Cómo imprimir Hola Mundo en Bash

El ejemplo de Hello World es una excelente manera de aprender sobre cualquier lenguaje de programación y Bash no es una excepción.

A continuación se explica cómo imprimir «Hola mundo» usando Bash:

  • Abra un editor de texto y comience a editar un nuevo archivo que contenga las siguientes líneas de código.
  • La primera línea de tus scripts Bash siempre debería verse así:
     #!/bin/bash 

    El comando Shebang (#!/bin/bash) es esencial ya que el shell lo usa para decidir cómo ejecutar el script. En este caso, utiliza el intérprete Bash.

  • Cualquier línea que comience con el símbolo # es un comentario. La línea shebang es un caso especial, pero puedes usar tus propios comentarios para explicar tu código. Agregue un comentario en la línea 2, por ejemplo:
      
  • Puede imprimir en la salida estándar usando el comando echo, seguido del valor que desea imprimir. Agregue lo siguiente en la línea 3:
     echo "Hello World" 
  • Guarde el script, preferiblemente con una extensión .sh, por ejemplo, hello_world.sh. La extensión no es un requisito, pero es una convención que es útil respetar.
  • Para ejecutar su script, haga que el archivo sea ejecutable. Utilice el comando chmod (“cambiar modo”) junto con el argumento +x (“ejecutable”) y el nombre de su script de shell:
     chmod +x hello_world.sh 
  • Utilice este comando para ejecutar el script desde su directorio:
     ./hello_world.sh 
  • Cuando se ejecute el script, imprimirá el texto «Hola mundo» en su terminal:
  •   3 formas sencillas para que los usuarios de Windows prueben Linux

    2. Cree un directorio leyendo la entrada

    Desde sus scripts, puede ejecutar cualquier programa que normalmente ejecutaría en la línea de comando. Por ejemplo, puede crear un nuevo directorio desde su secuencia de comandos usando el comando mkdir.

  • Comience con la misma línea shebang que antes:
     #!/bin/bash 
  • Solicite al usuario un nombre de directorio, usando el comando echo como antes:
     echo "Enter new directory name:" 
  • Utilice el comando de lectura incorporado para recuperar la entrada del usuario. El argumento único nombra una variable en la que el shell almacenará la entrada:
     read newdir 
  • Cuando necesite utilizar el valor almacenado en una variable, anteponga su nombre con un símbolo de dólar ($). Puede pasar el contenido de la variable de entrada como argumento al comando mkdir para crear un nuevo directorio:
     mkdir $newdir 
  • Cuando ejecute este script, le solicitará información. Ingrese un nombre de directorio válido y verá que el script lo crea en su directorio actual:
  • 3. Cree un directorio utilizando argumentos de línea de comando

    Como alternativa a la lectura interactiva de la entrada, la mayoría de los comandos de Linux admiten argumentos. Puede proporcionar un argumento cuando ejecuta un programa para controlar su comportamiento.

    Dentro de su script, puede usar $1 para hacer referencia a una variable especial que contiene el valor del primer argumento. $2 se referirá al segundo argumento, y así sucesivamente.

      Cómo instalar aplicaciones Kali Linux en Debian
  • Cree un directorio usando el comando mkdir del ejemplo anterior. Sin embargo, esta vez, use la variable incorporada $1:
     #!/bin/bash
    mkdir $1
  • Ejecute el script, esta vez pasando el nombre elegido de un nuevo directorio como argumento:
     ./arg_dir.sh Test 
  • Quizás se pregunte qué sucede si ejecuta el script sin proporcionar ningún argumento. Pruébalo y verás; Debería recibir un mensaje de error que comience con “uso: mkdir”:

    Sin ningún argumento de línea de comando, el valor de $1 estará vacío. Cuando su secuencia de comandos llama a mkdir, no le pasará ningún argumento y el comando mkdir devolverá ese error. Para evitar esto, puede verificar la condición usted mismo y presentar un error más amigable:

  • Como siempre, comience con la línea shebang:
     #!/bin/bash 
  • Antes de llamar a mkdir, compruebe si hay un primer argumento vacío (es decir, sin argumentos). Puedes hacer esto usando la declaración if de Bash que ejecuta código basado en una condición:
     if ["$1" = ""]; then 
  • Si el primer argumento está vacío, imprima un error y salga de su script:
         echo "Please provide a new directory name as the first argument"
        exit
  • La palabra clave “fi” ligeramente extraña (“if” invertida) señala el final de una declaración if en Bash:
     fi 
  • Su script ahora puede continuar como antes, para manejar el caso cuando hay un argumento presente:
     mkdir $1 
  • Cuando ejecute esta nueva versión del script, recibirá un mensaje si olvida incluir un argumento:

    4. Eliminar un archivo usando una función Bash

    Si se encuentra repitiendo el mismo código, considere incluirlo en una función. Luego puede llamar a esa función cuando lo necesite.

    A continuación se muestra un ejemplo de una función que elimina un archivo determinado.

      Cómo jugar juegos de Sega DreamCast en Linux
  • Comience con la línea shebang:
     #!/bin/bash 
  • Defina una función escribiendo su nombre seguido de paréntesis vacíos y comandos entre llaves:
     del_file() {
        echo "deleting $1"
        rm $1
    }

    Luego puede llamar a la función y pasarle el nombre de un archivo para eliminar:

     del_file test.txt 

  • Cuando llamas a una función, establecerá el valor especial $? valor con el estado de salida del último comando que ejecuta. El estado de salida es útil para comprobar errores; En este ejemplo, puedes probar si el comando rm tuvo éxito:

     if [ $? -ne 0 ]; then
        echo "Sorry, could not delete the file"
    fi

    5. Cree una calculadora básica para cálculos aritméticos

    Este último ejemplo demuestra una calculadora muy básica. Cuando lo ejecute, ingresará dos valores y luego elegirá una operación aritmética para realizar con ellos.

    Aquí está el código para calc.sh:

     #!/bin/bash


    echo "Enter first number: "
    read a

    echo "Enter second number: "
    read b


    echo "Enter Arithmetic Operation Choice :"
    echo "1. Addition"
    echo "2. Subtraction"
    echo "3. Multiplication"
    echo "4. Division"
    read choice


    case $choice in
      1)
     result=`echo $a + $b | bc`
      ;;

      2)
     result=`echo $a - $b | bc`
     ;;

      3)
     result=`echo $a \* $b | bc`
      ;;

      4)
     result=`echo "scale=2; $a / $b" | bc`
      ;;
    esac

    echo "Result: $result"

    Tenga en cuenta el uso de case… esac, que es el equivalente de Bash de la declaración switch de otros lenguajes. Le permite probar un valor (en este caso, la variable de elección) con varios valores fijos y ejecutar el código asociado.

    Este script utiliza el comando bc para realizar cada cálculo.