[*]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
[*]Las variables de 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:
STATE=Washington
[*]El valor que esta declaración asigna aESTADOes una sola palabra. Si necesita espacios en su valor, use comillas alrededor:
STATE="North Arizona"
[*]Necesitarás usar un signo de dólarPDprefijo para referenciar variables en otras variables o declaraciones:
STATE=Washington
LOCATION="My Location is $STATE"
Imprimiendo Valores en Bash
[*]Hay varias formas de imprimir variables en Bash. Puedes usar elecológicocomando para salida básica estilo Cimprimircomando para el formato de cadena.
STATE=Washington
LOCATION="My Location is $STATE"
echo $LOCATION
[*]Después de declarar elESTADOvariable, este script defineUBICACIÓNhaciendo referencia al ESTADO. If luego usa echo para imprimir el valor final de la variable LOCATION.
[*] losimprimirLa 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 flota 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. |
[*]Aquí hay un example de usar un verbo con elimpresiónpalabra clave.
STATE=Lagos
printf "My Location is %s" $STATE
[*]losimprimirLa función sustituiría a laESTADOvariable en la posición del%sverbo, y la salida sería “Mi ubicación es Lagos”.
Comentarios en Bash
[*]Puede hacer comentarios en Bash con el hash o la libra (#) símbolo. El shell ignora automáticamente los comentarios.
#!/bin/bash
# STATE=Washington
# LOCATION="My Location is $STATE"
[*]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 elarchivocomando para solicitar la entrada del usuario.
read response
[*]En este caso, elrespuestaLa variable contendrá la entrada del usuario en el momento de la entrega.
echo "What do you want ?: "
read response
echo $response
[*]La solicitud de entrada del usuario estará en una nueva línea en el example arriba.
[*] Puedes agregar el-nortebandera a laecológicodeclaración de impresión para retener la línea donde el usuario ingresa la entrada.
echo -n "What do you want."
read response
echo $response
Declarando arreglos en Bash
[*]Las 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.
Countries=('USA' 'Russia' 'Ukraine', "England", "Taiwan", "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 ${Countries[*]}
[*]También puede especificar el índice de la matriz para acceder a un elemento específico. El índice de una matriz comienza en cero.
echo "${Countries[4]}"
Declaraciones condicionales en Bash
[*]Bash proporciona condicionales para la toma de decisiones en los programas.
[*]Esta es la anatomía de una instrucción if-else en Bash. Tendrá que usar el punto y coma para especificar el final de la condición.
if [[ condition ]]; then
echo statement1
elif [[condition ]]; then
echo statement2
else [[condition ]]; then
echo statement3
fi
[*]Debes terminar cadaydeclaración con elfipalabra clave.
if [ 1 == 2 ]; then
echo one
elif [ 2 == 3 ]; then #else-if
echo two
else [ 4 > 3 ];
echo "correct, 3"
fi
[*]Puede usar declaraciones de casos en sus programas Bash usando elcasopalabra clave. Tendrá que especificar el patrón seguido de paréntesis antes de la declaración.
CITY=Lagos
case $CITY in
"Washington") # pattern
echo "United States of America" # statement
;; # end of a case
"Lagos" | "Abuja")
echo "Nigeria"
;;
"Johannesburg" | "Cape Town")
echo "South Africa"
;;
*) # default pattern
echo "Antarctica" # default statement
;;
esac # end of the case statement
[*]Puede definir el caso predeterminado utilizando el asteriscofirmar como el patrón. Las declaraciones de caso deben terminar con elesac
palabra clave.
[*]Bucles en Bash
[*]Según sus necesidades, puede usar un ciclo while, un ciclo for de rango o un ciclo for de estilo C para operaciones recurrentes. example Aquí hay undel bucle for de estilo C. Los bucles for deben terminar con elhechopalabra clave, y debe terminar la instrucción for con un punto y coma seguido delhacer
for ((a = 0 ; a < 10 ; a+2)); do
echo $a
done
[*]palabra clave.El rango for loop es útil para trabajar con archivos y muchas otras operaciones. Necesitarás usar elen
for i in {1..7}; do
echo $1
done
[*]palabra clave con el rango for-loop.Aquí hay un ciclo infinito simple para demostrar Bashtiempo
name=1
while [ 1 -le 5 ] # while 1 < 5
do
echo $name
done
[*]bucles en acción.los-el
en la declaración de condición es el operador binario para menos de.
[*]Funciones en bash
print_working_directory() {
echo $PWD #calling the PWD command from the script
}
echo "You are in $(print_working_directory)"
[*]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.Las funciones pueden devolver variables en Bash. Todo lo que necesitas es eldevolver
print_working_directory() {
return $PWD
}
[*]palabra clave.losimprimir_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.