Los scripts de Bash son útiles para automatizar tareas y descubrirá que son excelentes para crear aplicaciones de línea de comandos simples. El shell de Bash interpreta los scripts de Bash, por lo que no necesitará instalar ninguna dependencia para escribirlos y ejecutarlos. Los scripts Bash también son portátiles ya que la mayoría de los sistemas operativos basados ​​en Unix usan el mismo intérprete de shell.

El conocimiento de las secuencias de comandos de Bash es imprescindible para todos los desarrolladores, especialmente si trabaja con sistemas basados ​​en Unix.

Variables en bash

variables bash distinguen entre mayúsculas y minúsculas. Para declarar variables, use un signo igual (=) con el nombre a la izquierda y el valor a la derecha:

ESTADO=Washington

El valor que esta declaración asigna a ESTADO es una sola palabra. Si necesita espacios en su valor, use comillas alrededor:

ESTADO="Norte de Arizona"

Necesitarás usar un signo de dólar ($) prefijo para referenciar variables en otras variables o declaraciones:

instagram viewer
ESTADO=Washington
LOCATION="Mi ubicación es $ESTADO"

Imprimiendo Valores en Bash

Hay varias formas de imprimir variables en Bash. Puedes usar el eco comando para salida básica o estilo C imprimir comando para el formato de cadena.

ESTADO=Washington
LOCATION="Mi ubicación es $ESTADO"
eco$UBICACIÓN

Después de declarar el ESTADO variable, este script define UBICACIÓN haciendo referencia al ESTADO. If luego usa echo para imprimir el valor final de la variable LOCATION.

los imprimir La palabra clave le permite usar verbos de formato para generar datos. Los verbos de formato de cadena son similares a los de C y Go pero con verbos limitados.

Verbo Funcionalidad
%C imprime caracteres individuales
%o imprime octadecimales
%s imprime cadenas, independientemente de la carcasa
%X imprime minúsculas hexadecimales
%X imprime mayúsculas hexadecimales
%d imprime números enteros
%mi imprime la noción científica flotante en minúsculas
%MI imprime la noción científica flotante en mayúsculas
%F imprime números de punto flotante
%% imprime un solo símbolo de porcentaje.

He aquí un ejemplo del uso de un verbo con el impresión palabra clave.

ESTADO=Lagos
imprimir "Mi ubicación es %s" $ESTADO

los imprimir La función sustituiría a la ESTADO variable en la posición del %s verbo, y la salida sería "Mi ubicación es Lagos".

Puede hacer comentarios en Bash con el hash o la libra (#) símbolo. El shell ignora automáticamente los comentarios.

#!/bin/bash
# ESTADO=Washington
# LOCATION="Mi ubicación es $ESTADO"

No hay comentarios de varias líneas. La mayoría de los IDE y editores de texto le permiten comentar con el atajo Ctrl/Command + barra diagonal(/). Debería poder usar el acceso directo para crear varios comentarios de una sola línea.

Recepción de la entrada del usuario en Bash

Como muchos otros lenguajes de programación, puede recibir información del usuario en Bash para hacer que sus programas/guiones sean más interactivos. Puedes usar el leer Comando para solicitar la entrada del usuario.

leer respuesta

En este caso, el respuesta La variable contendrá la entrada del usuario en el momento de la entrega.

echo "¿Qué quieres?: "
leer respuesta
eco $respuesta

La solicitud de entrada del usuario estará en una nueva línea en el ejemplo anterior.

Puedes agregar el -norte bandera a la eco declaración de impresión para retener la línea donde el usuario ingresa la entrada.

echo -n "¿Qué quieres?"
leer respuesta
eco $respuesta

Declarando arreglos en Bash

Matrices en Bash son como la mayoría de los idiomas. Puede declarar una variable de matriz en Bash especificando los elementos entre paréntesis.

Países = ('EE. UU.', 'Rusia', 'Ucrania', "Inglaterra", "Taiwán", "China")

Acceder a una matriz a través de la referencia al nombre de la variable obtendría el primer elemento. Puede acceder a toda la matriz utilizando el signo de asterisco como índice.

echo ${Países[*]}

También puede especificar el índice de la matriz para acceder a un elemento específico. El índice de una matriz comienza en cero.

eco "${Países[4]}"

Declaraciones condicionales en Bash

Bash proporciona condicionales para la toma de decisiones en los programas.

Esta es la anatomía de una declaración if-else en Bash. Tendrá que usar el punto y coma para especificar el final de la condición.

si [[ condición ]]; después
eco declaración1
elif [[condición ]]; después
eco declaración2
más [[condición ]]; después
eco declaración3
fi

Debes terminar cada si declaración con el fi palabra clave.

si [ 1 == 2 ]; después
eco una
elif [ 2 == 3 ]; después#else-if
eco dos
más [ 4 > 3 ];
eco "correcto, 3"
fi

Puede usar declaraciones de casos en sus programas Bash usando el caso palabra clave. Tendrá que especificar el patrón seguido de paréntesis antes de la declaración.

CIUDAD=Lagos
caso$CIUDADen
"Washington") # patrón
eco "Estados Unidos de America" # declaración
;; # fin de un caso
"Lagos" | "Abuja")
eco "Nigeria"
;;
"Johannesburgo" | "Ciudad del Cabo")
eco "Sudáfrica"
;;
*) # patrón predeterminado
eco "Antártida" # declaración predeterminada
;;
esac# fin de la declaración del caso

Puede definir el caso predeterminado utilizando el signo de asterisco (*) como patrón. Las declaraciones de caso deben terminar con el esac palabra clave.

Bucles en Bash

Según sus necesidades, puede usar un ciclo while, un ciclo for de rango o un estilo C bucle for para operaciones recurrentes.

Aquí hay un ejemplo del bucle for de estilo C. Los bucles for deben terminar con el hecho palabra clave, y debe terminar la instrucción for con un punto y coma seguido del hacer palabra clave.

por ((un = 0; a < 10; a+2)); hacer
eco$a
hecho

El rango for loop es útil para trabajar con archivos y muchas otras operaciones. Necesitarás usar el en palabra clave con el rango for-loop.

por i en {1..7}; hacer
eco$1
hecho

Aquí hay un ciclo infinito simple para demostrar Bash tiempo bucles en acción.

nombre=1
tiempo [ 1 -le 5 ] # mientras 1 < 5
hacer
eco$nombre
hecho

los -le en la declaración de condición es el operador binario para menos de.

Funciones en bash

No necesita palabras clave para declarar funciones en Bash. Puede declarar funciones con el nombre y luego paréntesis antes del cuerpo de la función.

imprimir_directorio_de_trabajo() {
eco$PWD#llamar al comando PWD desde el script
}
eco "Usted está en $(imprimir_directorio_de_trabajo)"

Las funciones pueden devolver variables en Bash. Todo lo que necesitas es el devolver palabra clave.

imprimir_directorio_de_trabajo() {
devolver$PWD
}

los imprimir_directorio_de_trabajo La función devuelve el directorio de trabajo del archivo.

Puede escribir scripts de shell en otros idiomas

Bash no es el único lenguaje que puede usar para interactuar con el shell de su sistema operativo o crear aplicaciones de línea de comandos. Puede usar muchos otros lenguajes como Go, Python, Ruby y Rust.

Muchos sistemas operativos tienen Python3 preinstalado y Python es un lenguaje predominante. Si necesita aún más funcionalidad de la que pueden ofrecer los scripts de Bash, considere usar Python.