Introducción
Bash scripting sirve como una utilidad valiosa para tareas modernas y completas en el sistema operativo de administración como Linux y macOS. Su sintaxis sencilla, su estrecha integración con el sistema operativo y la eficiencia en el manejo de las funcionalidades específicas de shell brindan ventajas distintivas para casos de uso específicos.
Ventajas de las secuencias de comandos Bash
- Automatización optimizada: los scripts Bash ofrecen un enfoque ligero e intuitivo para automatizar tareas repetitivas y administrar las responsabilidades de administración del sistema. Ejecutan rápidamente secuencias de comandos, optimizando tareas como copias de seguridad, gestión de registros y configuración de usuarios;
- Integración perfecta del sistema: como shell predeterminado en la mayoría de los sistemas similares a Unix, Bash se integra perfectamente con el sistema operativo subyacente. Esta estrecha integración otorga fácil acceso a las utilidades del sistema, las variables ambientales y la información del sistema, agilizando las operaciones que involucran tareas relacionadas con el sistema;
- Eficiencia de la línea de comandos: Bash se destaca en el manejo de la interfaz de la línea de comandos, lo que lo hace competente en tareas como la manipulación de texto, el procesamiento de archivos y la navegación de directorios. Su compatibilidad con conductos, redireccionamientos y otras funciones específicas de shell mejora aún más sus capacidades;
- Prototipado y prueba rápidos: con su sintaxis simple y retroalimentación inmediata durante la ejecución de la línea de comandos, Bash facilita el prototipado y prueba rápidos de ideas y soluciones. Esta agilidad resulta valiosa para soluciones rápidas y scripts temporales;
- Accesible para administradores de sistemas: los scripts de Bash son accesibles para los administradores de sistemas, incluso sin amplios conocimientos de programación. Esta accesibilidad permite a los administradores de sistemas crear soluciones personalizadas y automatizar tareas con facilidad;
- Integraciones óptimas en el shell: Bash ofrece comandos integrados que están altamente optimizados para el rendimiento, lo que lo hace eficiente para tareas repetitivas y de pequeña escala. Esta característica permite que los scripts de Bash ejecuten ciertas operaciones más rápido en comparación con lenguajes de programación de nivel superior;
- Portabilidad de la plataforma: aunque se usa principalmente en sistemas similares a Unix, Bash está disponible en varias plataformas, incluidas Linux, macOS y Windows (a través de Cygwin o Windows Subsistema para Linux). Esta portabilidad permite que los scripts de Bash se utilicen en diversos entornos.
En conclusión, las fortalezas de Bash scripting radican en su simplicidad, estrecha integración con sistemas basados en Unix y competencia en el manejo de tareas específicas de shell. Sobresale en la automatización de las tareas de administración del sistema, trabajando a la perfección con las utilidades de línea de comandos y brindando soluciones rápidas para el procesamiento de texto y la manipulación de archivos. Su accesibilidad y capacidad para generar rápidamente prototipos de ideas lo convierten en una excelente opción para administradores de sistemas y tareas que requieren un enfoque de secuencias de comandos conciso y efectivo.
Requisitos
- derechos de raíz;
- Debian 11 o versión superior;
- Varios conocimientos sobre el sistema operativo de trabajo;
- Conexión a Internet.
Enciende tu motor
vamos a trabajar en VPS máquina de nuestro proveedor Serverspace, que puedes pedir en el sitio. Y use Debian 11 sistema operativo con shell bash. En primer lugar, vaya al panel de control de Serverspace y elija la plataforma necesaria para trabajar:

Puede ver varios centros de datos en diferentes países, elija según su punto de vista y propósitos, preferiblemente cerca de su ubicación. Luego, puede mirar el sistema operativo y elegir uno, para nuestro ejemplo, teníamos un aspecto clásico.

Después de elegir los recursos para su máquina, puede ver el precio y hacer clic en Order botón, espere a que finalice la configuración del servidor. Después de eso, ingrese sus credenciales para iniciar sesión en el sistema a través del siguiente comando.
ssh root@162.64.253.1

Recordatorio! Debe reemplazar su dirección IP e ingresar la contraseña en la cuenta.
Crear primer guión
Felicitaciones, estamos adentro. Y ya usé bash interpreter y shell. La señal # o si inicia sesión por usuario $ eso significa que la máquina ya lee y procesa el comando de entrada en bash. En segundo lugar, instalamos el editor de texto para un uso más cómodo de nuestro archivo de script:
apt install nano
También puedes utilizar editores de texto más sencillos y complejos como: gedit, vim, Emacs, etc. Elige lo que quieras para tu cómodo trabajo. Vamos a crear nuestro primer script. Para eso, debe encontrar la ruta para bash en su sistema, por defecto es / bin / bash, pero puedes encontrarlo con el comando:
cd / && which bash
El siguiente paso creará un archivo de script con el siguiente comando:
nano /etc/script.sh
E ingrese estas líneas:
#!/bin/bash
echo "My first script in bash!"

En la primera línea indicamos el intérprete para el script, escriba su ruta como sabemos anteriormente, pero en el 99% de los casos tenemos la ruta predeterminada. En la línea de abajo podemos ver comando echo que muestra en la pantalla nuestro texto. Corregir mod a ejecutable:
cd etc && chmod +x script.sh
Ahora puede iniciar su secuencia de comandos por la ruta del archivo o usando el siguiente comando:
sh script.sh

¡Aquí vamos! Primero escribimos el guión, pero mire la complejidad y los detalles útiles del proceso de creación de guiones.
Argumentos
Hay datos de entrada que el script debe procesar, datos que ingresa el usuario o que transfiere otra utilidad, servicio o script. Para eso, en el lenguaje de programación existe una definición: argumentos o datos que se deben procesar mediante un algoritmo. Veamos un ejemplo:
Para eso, cree un nuevo archivo y ábralo con un comando:
nano /etc/price.sh && chmod +x /etc/price.sh
Escriba el guión a continuación:
#!/bin/bash
echo "My suggested price is $1"
Explicación: En ese script usamos el argumento y lo indicamos con el signo $K, donde K es un número de argumento de entrada. El $0 siempre es el nombre del script en ejecución, $1, $2, etc. Es solo una lista de datos ingresados. ¡Vamos a ejecutarlo!
sh /etc/price.sh 4333$

Es posible que observe una parte vacía de lo que se muestra sin procesar, ¡eso sucedió debido a que no proporcionamos un error y tenemos un error! Hagamos un mecanismo de verificación:
nano /etc/price.sh
E ingresa ese código:
#!/bin/bash
if [ "$1" -z]; then
echo "You entering data don't accordance rule!"
exit 1
fi
echo "My suggested price is $1"
Explicación: agregamos la función de verificar la entrada de datos mediante la construcción if-then-else. Si significa sintaxis para el comando de condición de inicio, que escribimos e indicamos filtro para variable. En ese caso usamos —z opción, lo que significa que el campo está vacío. A continuación escribimos después comando que indica acción si la afirmación anterior es verdadera. En nuestro caso, mostramos un mensaje de error y usamos salir de 1 — comando para finalizar el programa e indicar el error. Comencemos y verifiquemos:
sh /etc/price.sh 44$ && sh /etc/price.sh

¡Está bien! ¿Pero si necesitamos usar datos de preparación en el script? Para ello tenemos variable!
Variables
Representan celdas de almacenamiento, que guardan información y permiten usarla mencionándola en el script. Declaración de variables: las variables en Bash se declaran sin usar palabras clave, simplemente asignando un valor a una variable. Por ejemplo:
name="John" age=30
Las variables en Bash admiten una variedad de tipos de datos gracias a la tipificación dinámica. Los nombres de las variables deben comenzar con una letra o el símbolo "_", se permiten letras y números. Facilite la comprensión del código mediante el uso de nombres de variables significativos y utilice el símbolo de dólar "$" para acceder a sus valores, por ejemplo:
echo "Hello, $name!"
El valor de la variable se puede reasignar, cambiar en cualquier momento de la ejecución del script:
count=5
echo "Current value of count: $count"
count=10
echo "New value of count: $count"
Lectura de un valor de un usuario: con el comando de lectura, puede leer un valor de un usuario y asignarlo a una variable:
read -p "Enter your price: " price
echo "Awwww, $price?"
Eliminación de una variable: para eliminar una variable, use el comando unset:
unset name
Exportación de una variable: si una variable debe estar disponible para los subprocesos, puede usar el comando de exportación:
export MY_VARIABLE="price"
Las variables en Bash juegan un papel importante al escribir scripts y automatizar tareas, permitiéndole almacenar y procesar datos durante la ejecución de un programa o comandos.
Estructuras de Control
En cualquier script hay un camino lógico por el que pasa la información, filtrando, cambiando de valor y dando un resultado. Todo eso es posible gracias a las estructuras de control, que agregan ramas y capacidad de elección. Hay ciclos, construcciones condicionales, etc. Ejemplo simple que explicamos arriba sobre la construcción if-then-else. Que comúnmente se usa para una o dos, tres ramificaciones y estructura usada:
if [ condition ]; then
statement-1
elif [ condition-2 ]; then
statement-2
fi
En ese ejemplo vemos 3 ramas, pero ¿qué debemos hacer si tenemos una lista de condiciones y un parámetro? Para eso podemos usar la construcción switch-case. Todo el significado incluido en nuestro parámetro se compara con otros en la lista, por lo tanto, se ejecuta la acción de acuerdo con la respuesta. Por ejemplo:
read -p "What is machine you search for? " car
case "$car" in
"Volkswagen" )
price="3000$"
;;
"BMW" )
price="4000$"
;;
*)
price="we don't know"
esac
echo "You requesting cost of car: $price"
¡Ingrese eso en el archivo como lo hago anterior antes! Y ejecutarlo:
./etc/price.sh

Después de empezar vamos a comprobar:

Muy bien, ese trabajo! Existe el siguiente problema, algunos comandos que debemos ejecutar cierta cantidad de veces o hasta que se completen las condiciones. ¡Para eso usamos ciclos!
Ciclos
Podemos usar ciclo para lo cual nos permite iterar cierto comando para cada objeto en secuencia, por ejemplo:
cars=("Toyota" "Honda" "Ford" "BMW" "Tesla")
for ((i=0; i<${#cars[@]}; i++))
do
echo "Car $((i+1)): ${cars[i]}"
done
Ese código nos permite iterar indicar el valor cierto número de veces. I = 0 la sintaxis indica el valor inicial, yo<${#coches[@]} es condición, i++ es comando si condición de acuerdo valor lógico su verdadero. Luego haga su comando para hacer después de la condición de finalización en nuestro ejemplo es echo y done significa ciclo terminado. Probemos:

El ciclo while en el ejemplo:
cars=("Toyota" "Honda" "Ford" "BMW" "Tesla")
count=1
while [ $count -le ${#cars[@]} ]
do
echo "Car $count: ${cars[$((count-1))]}"
((count++))
done
Conclusión
Los scripts de Bash se distinguen por su facilidad de uso, su integración fluida en sistemas basados en Unix y su habilidad para manejar tareas específicas del shell. Destacan por automatizar las tareas de administración del sistema, interactuar sin problemas con las utilidades de la línea de comandos y ofrecer rápidamente soluciones para el procesamiento de texto y la manipulación de archivos. Su accesibilidad y flexibilidad lo convierten en la opción preferida de los administradores de sistemas que abordan tareas que requieren un enfoque de scripts conciso y eficiente. El dominio de los scripts de Bash permite a los administradores aumentar la productividad, optimizar la gestión de tareas y desbloquear todas las capacidades de Linux y sistemas macOS, culminando en un entorno informático más eficiente y productivo.