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.
Tabla de contenido
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:
#!/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.
echo "Hello World"
chmod +x hello_world.sh
./hello_world.sh
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.
#!/bin/bash
echo "Enter new directory name:"
read newdir
mkdir $newdir
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.
#!/bin/bash
mkdir $1
./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:
#!/bin/bash
if ["$1" = ""]; then
echo "Please provide a new directory name as the first argument"
exit
fi
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.
#!/bin/bash
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 aecho "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`
;;
esacecho "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.