30 ejemplos de guiones de bash

30 Bash Script Examples




Los scripts Bash se pueden usar para varios propósitos, como ejecutar un comando de shell, ejecutar varios comandos juntos, personalizar tareas administrativas, realizar automatización de tareas, etc. Por lo tanto, el conocimiento de los conceptos básicos de programación bash es importante para todos los usuarios de Linux. Este artículo le ayudará a tener una idea básica sobre la programación bash. La mayoría de las operaciones comunes de las secuencias de comandos bash se explican con ejemplos muy simples aquí.

En este artículo se tratan los siguientes temas de programación bash.







  1. Hola Mundo
  2. Comando de eco
  3. Comentarios
  4. Comentario de varias líneas
  5. Mientras bucle
  6. En bucle
  7. Obtener información del usuario
  8. Si declaración
  9. Y condición si declaración
  10. O Condición si declaración
  11. Else if y condición else
  12. Condición del caso
  13. Obtener argumentos desde la línea de comandos
  14. Obtener argumentos de la línea de comando con nombres
  15. Combinar dos cadenas en una variable
  16. Obtener subcadena de cadenas
  17. Suma 2 números en una variable
  18. Crear una función
  19. Usar parámetros de función
  20. Pasar el valor de retorno de la secuencia de comandos
  21. Hacer directorio
  22. Hacer directorio comprobando existencia
  23. Leer un archivo
  24. Eliminar un archivo
  25. Agregar al archivo
  26. Prueba si el archivo existe
  27. Enviar ejemplo de correo electrónico
  28. Obtener Parse Fecha actual
  29. Espere el comando
  30. Comando de sueño

Cree y ejecute el primer programa BASH:

Puede ejecutar el script bash desde la terminal o ejecutando cualquier archivo bash. Ejecute el siguiente comando desde la terminal para ejecutar una instrucción bash muy simple. La salida del comando será ' Hola Mundo ’.



$echo 'Hola Mundo'



Abra cualquier editor para crear un archivo bash. Aquí, nano El editor se utiliza para crear el archivo y el nombre del archivo se establece como ' First.sh ’





$nanoFirst.sh

Agregue el siguiente script bash al archivo y guárdelo.

#! / bin / bash
echo 'Hola Mundo'



Puede ejecutar el archivo bash de dos formas. Una forma es usar el comando bash y otra es configurar el permiso de ejecución para ejecutar el archivo bash y ejecutar el archivo. Aquí se muestran ambas formas.

$intentoFirst.sh

O,

$chmoda + x First.sh
$ ./First.sh

Ve arriba

Uso del comando echo:

Puede usar el comando echo con varias opciones. Algunas opciones útiles se mencionan en el siguiente ejemplo. Cuando usa ' echo 'Sin ninguna opción, se agrega una nueva línea de forma predeterminada. '-norte' La opción se utiliza para imprimir cualquier texto sin una nueva línea y '-Y' La opción se utiliza para eliminar los caracteres de barra invertida de la salida. Cree un nuevo archivo bash con un nombre ' echo_example.sh 'Y agregue la siguiente secuencia de comandos.

#! / bin / bash
echo 'Impresión de texto con nueva línea'
echo -norte 'Impresión de texto sin nueva línea'
echo -Y ' orteEliminando tbarra invertida tcaracteres orte'

Ejecute el archivo con el comando bash.

$intentoecho_example.sh

Ve arriba

Uso de comentario:

‘#’ El símbolo se usa para agregar comentarios de una sola línea en el script bash. Cree un nuevo archivo llamado ' comment_example.sh ' y agregue la siguiente secuencia de comandos con un comentario de una sola línea.

#! / bin / bash

# Suma dos valores numéricos
((suma=25+35))

#Imprima el resultado
echo $ suma

Ejecute el archivo con el comando bash.

$intentocomment_example.sh

Ve arriba

Uso del comentario de varias líneas:

Puede utilizar el comentario de varias líneas en bash de varias formas. En el siguiente ejemplo se muestra una forma sencilla. Crea un nuevo bash llamado, 'Multiline-comment.sh' y agregue el siguiente script. Aquí, ‘:’ y los símbolos se utilizan para agregar comentarios de varias líneas en el script bash. Este siguiente script calculará el cuadrado de 5.

#! / bin / bash
:'
El siguiente script calcula
el valor cuadrado del número, 5.
'

((zona=5*5))
echo $ area

Ejecute el archivo con el comando bash.

$intentomultiline-comment.sh

Puede consultar el siguiente enlace para saber más sobre el uso del comentario bash.

https://linuxhint.com/bash_comments/

Ve arriba

Uso de While Loop:

Crea un archivo bash con el nombre, 'While_example.sh', saber el uso de tiempo círculo. En el ejemplo, tiempo bucle iterará para 5 veces. El valor de contar la variable se incrementará en 1 en cada paso. Cuando el valor de contar variable será 5 entonces la tiempo El bucle terminará.

#! / bin / bash
válido=cierto
contar=1
tiempo [ $ válido ]
hacer
echo $ count
si [ $ count -eq 5 ];
luego
rotura
ser
((contar ++))
hecho

Ejecute el archivo con el comando bash.

$intentowhile_example.sh

Puede consultar el siguiente enlace para saber más sobre el uso de while loop.

https://linuxhint.com/bash-while-loop-examples/

Ve arriba

Utilizando For Loop:

Lo básico por La declaración de bucle se muestra en el siguiente ejemplo. Cree un archivo llamado ' for_example.sh 'Y agregue la siguiente secuencia de comandos usando por círculo. Aquí, por bucle iterará para 10 veces e imprime todos los valores de la variable, encimera en una sola línea.

#! / bin / bash
por (( encimera=10; encimera>0; encimera--))
hacer
echo -norte '$ contador'
hecho
printf ' orte'

Ejecute el archivo con el comando bash.

$intentofor_example.sh

Puede usar for loop para diferentes propósitos y formas en su script bash. Puede consultar el siguiente enlace para saber más sobre el uso de for loop.

https://linuxhint.com/bash-for-loop-examples/

Ve arriba

Obtener información del usuario:

leer El comando 'se usa para recibir información del usuario en bash. Cree un archivo llamado ' user_input.sh 'Y agregue la siguiente secuencia de comandos para recibir información del usuario. Aquí, un valor de cadena se tomará del usuario y mostrará el valor combinando otro valor de cadena.

#! / bin / bash
echo 'Introduzca su nombre'
leernombre
echo 'Bienvenido$ nombrea LinuxHint '

Ejecute el archivo con el comando bash.

$intentouser_input.sh

Puede consultar el siguiente enlace para saber más sobre el uso de la entrada del usuario.

https://linuxhint.com/bash-script-user-input/

Ve arriba

Usando la declaración if:

Puede usar if condición con condiciones únicas o múltiples. El bloque inicial y final de esta declaración se define mediante 'si' y 'ser' . Cree un archivo llamado ' simple_if.sh 'Con la siguiente secuencia de comandos para conocer el uso si declaración en bash. Aquí, 10 se asigna a la variable, norte . si el valor de $ n es menor que 10, entonces la salida será Es un número de un dígito , de lo contrario la salida será Es un número de dos dígitos. . Para comparacion, '-Lt' se utiliza aquí. A modo de comparación, también puede utilizar '-Eq' por igualdad , '-Nació' por no igualdad y '-Gt' por mas grande que en script bash.

#! / bin / bash
norte=10
si [ $ n -lt 10 ];
luego
echo 'Es un número de un dígito'
demás
echo 'Es un número de dos dígitos'
ser

Ejecute el archivo con el comando bash.

$intentosimple_if.sh

Ve arriba

Usando la declaración if con lógica AND:

Se pueden usar diferentes tipos de condiciones lógicas en una instrucción if con dos o más condiciones. ¿Cómo puede definir múltiples condiciones en la declaración if usando Y La lógica se muestra en el siguiente ejemplo. ‘&&’ se usa para aplicar Y lógica de si declaración. Crea un archivo llamado 'If_with_AND.sh' para comprobar el siguiente código. Aquí, el valor de nombre de usuario y contraseña las variables se tomarán del usuario y se compararán con ' administración ' y ' secreto '. Si ambos valores coinciden, la salida será usuario valido , de lo contrario la salida será usuario invalido .

!/soy/intento

echo 'Introduzca su nombre de usuario'
leernombre de usuario
echo 'Introducir la contraseña'
leercontraseña

si [[ ( $ nombre de usuario=='administración' && $ contraseña=='secreto' ) ]];luego
echo 'usuario válido'
demás
echo 'usuario invalido'
ser

Ejecute el archivo con el comando bash.

$intentoif_with_AND.sh

Ve arriba

Usando la declaración if con lógica OR:

|| 'Se utiliza para definir O lógica en si condición. Crea un archivo llamado 'If_with_OR.sh' con el siguiente código para comprobar el uso de O lógica de si declaración. Aquí, el valor de norte será tomado del usuario. Si el valor es igual a 15 o 45 entonces la salida será Ganaste el juego , de lo contrario la salida será Perdiste el juego .

#! / bin / bash

echo 'Ingrese cualquier número'
leernorte

si [[ ( $ n -eq 15 || $ n -eq 45 ) ]]
luego
echo 'Ganaste el juego'
demás
echo 'Perdiste el juego'
ser

Ejecute el archivo con el comando bash.

$intentoif_with_OR.sh

Ve arriba

Usando la declaración else if:

El uso de si no La condición es un poco diferente en bash que en otros lenguajes de programación. ' elif 'Se utiliza para definir si no condición en bash. Cree un archivo llamado ' elseif_example.sh 'Y agregue la siguiente secuencia de comandos para comprobar cómo si no se define en el script bash.

#! / bin / bash

echo 'Ingrese su número de la suerte'
leernorte

si [ $ n -eq 101 ];
luego
echo 'Tienes el 1er premio'
elif [ $ n -eq 510 ];
luego
echo 'Tienes el 2do premio'
elif [ $ n -eq 999 ];
luego
echo 'Tienes el 3er premio'

demás
echo 'Lo siento, inténtalo la próxima vez'
ser

Ejecute el archivo con el comando bash.

$intentoelseif_example.sh

Ve arriba

Uso de la declaración de caso:

Caso declaración se utiliza como la alternativa de if-elseif-else declaración. El bloque inicial y final de esta declaración está definido por ' caso ' y ' esac '. Cree un nuevo archivo llamado ' case_example.sh 'Y agregue la siguiente secuencia de comandos. La salida del siguiente script será la misma que la anterior. si no ejemplo.

#! / bin / bash

echo 'Ingrese su número de la suerte'
leernorte
caso $ n en
101)
echo echo 'Tienes el 1er premio' ;;
510)
echo 'Tienes el 2do premio' ;;
999)
echo 'Tienes el 3er premio' ;;
*)
echo 'Lo siento, inténtalo la próxima vez' ;;
esac

Ejecute el archivo con el comando bash.

$intentocase_example.sh

Ve arriba

Obtenga argumentos de la línea de comandos:

El script Bash puede leer la entrada desde el argumento de la línea de comandos como cualquier otro lenguaje de programación. Por ejemplo, $1 y $2 Las variables se utilizan para leer los argumentos de la primera y segunda línea de comandos. Crea un archivo llamado command_line.sh y agregue el siguiente script. Dos valores de argumentos leídos por el siguiente script e imprimen el número total de argumentos y los valores de los argumentos como salida.

#! / bin / bash
echo 'Total de argumentos: $ #'
echo 'Primer argumento = $ 1'
echo 'Segundo argumento = $ 2'

Ejecute el archivo con el comando bash.

$intentocommand_line.sh Sugerencia de Linux

Puede consultar el siguiente enlace para saber más sobre el uso del argumento de línea de comando.

https://linuxhint.com/command_line_arguments_bash_script/

Ve arriba

Obtenga argumentos de la línea de comando con nombres:

En el siguiente script se muestra cómo puede leer los argumentos de la línea de comandos con nombres. Cree un archivo llamado ' command_line_names.sh ’ y agregue el siguiente código. Aquí, dos argumentos, X y Y son leídos por este script e imprimen la suma de X e Y.

#! / bin / bash
porenfadadoen '[correo electrónico protegido]'
hacer
índice=$(echo $ arg | Corte -f1 -D=)
horas=$(echo $ arg | Corte -f2 -D=)
caso $ índice en
X) x=$ horas;;

Y) y=$ horas;;

*)
esac
hecho
((resultado=x+y))
echo 'X+Y=$ resultado'

Ejecute el archivo con el comando bash y con dos argumentos de línea de comando.

$intentocommand_line_namesX=45 Y=30

Ve arriba

Combinar variables de cadena:

Puede combinar fácilmente variables de cadena en bash. Crea un archivo llamado string_combine.sh y agregue el siguiente script para verificar cómo puede combinar variables de cadena en bash colocando las variables juntas o usando ‘+’ operador.

#! / bin / bash

cadena1='Linux'
cadena2='Insinuación'
echo '$ string1$ cadena2'
string3=$ string1+$ cadena2
cadena3 + ='es un buen sitio de blogs de tutoriales'
echo $ string3

Ejecute el archivo con el comando bash.

$intentostring_combine.sh

Ve arriba

Obtener la subcadena de String:

Al igual que otros lenguajes de programación, bash no tiene una función incorporada para recortar el valor de cualquier cadena de datos. Pero puede realizar la tarea de subcadena de otra manera en bash que se muestra en el siguiente script. Para probar la secuencia de comandos, cree un archivo llamado ' substring_example.sh ’Con el siguiente código. Aquí, el valor, 6 indica el punto de partida desde donde comenzará la subcadena y 5 indica la longitud de la subcadena.

#! / bin / bash
Str='Aprenda Linux de LinuxHint'
subStr=$ {Str: 6: 5}
echo $ subStr

Ejecute el archivo con el comando bash.

$intentosubstring_example.sh

Ve arriba

Suma dos números:

Puede realizar las operaciones aritméticas en bash de diferentes formas. En el siguiente script se muestra cómo puede agregar dos números enteros en bash usando corchetes dobles. Cree un archivo llamado ' add_numbers.sh ’Con el siguiente código. Se tomarán dos valores enteros del usuario y se imprimirá el resultado de la suma.

#! / bin / bash
echo 'Ingrese el primer número'
leerx
echo 'Ingrese el segundo número'
leery
(( suma=x+y))
echo 'El resultado de la suma =$ suma'

Ejecute el archivo con el comando bash.

$intentoadd_numbers.sh

Puede consultar el siguiente enlace para saber más sobre la aritmética de bash.

https://linuxhint.com/bash_arithmetic_operations/

Ve arriba

Crear función:

En el siguiente script se muestra cómo puede crear una función simple y llamar a la función. Cree un archivo llamado ' function_example.sh 'Y agregue el siguiente código. Puede llamar a cualquier función solo por su nombre sin usar ningún corchete en el script bash.

#! / bin / bash
funciónF1()
{
echo 'Me gusta la programación bash'
}

F1

Ejecute el archivo con el comando bash.

$intentofunction_example.sh

Ve arriba

Crear función con parámetros:

Bash no puede declarar parámetros o argumentos de la función en el momento de la declaración de la función. Pero puede usar parámetros en función usando otra variable. Si se pasan dos valores en el momento de la llamada a la función, entonces se utilizan las variables $ 1 y $ 2 para leer los valores. Cree un archivo llamado ' función | _parameter.sh 'Y agregue el siguiente código. Aquí, la función ' Rectangle_Area ' calculará el área de un rectángulo basándose en los valores de los parámetros.

#! / bin / bash

Rectangle_Area() {
zona=$(($1 * $2))
echo 'El área es:$ area'
}

Rectangle_Area10 20

Ejecute el archivo con el comando bash.

$intentofunction_parameter.sh

Ve arriba

Pasar el valor de retorno de la función:

La función Bash puede pasar valores numéricos y de cadena. En el siguiente ejemplo se muestra cómo puede pasar un valor de cadena desde la función. Cree un archivo llamado ' function_return.sh 'Y agregue el siguiente código. La función, saludo() devuelve un valor de cadena en la variable, horas que se imprime más tarde combinándolo con otra cuerda.

#! / bin / bash
funciónsaludo() {

pag='Hola,$ nombre'
echo $ str

}

echo 'Introduzca su nombre'
leernombre

horas=$(saludo)
echo 'El valor de retorno de la función es$ horas'

Ejecute el archivo con el comando bash.

$intentofunction_return.sh

Puede consultar el siguiente enlace para saber más sobre el uso de la función bash.

https://linuxhint.com/return-string-bash-functions/

Ve arriba

Hacer directorio:

Bash usa ' mkdir 'Comando para crear un nuevo directorio. Cree un archivo llamado ' make_directory.sh 'Y agregue el siguiente código para tomar un nuevo nombre de directorio del usuario. Si el nombre del directorio no existe en la ubicación actual, se creará el directorio; de lo contrario, el programa mostrará un error.

#! / bin / bash
echo 'Ingrese el nombre del directorio'
leernewdir
`mkdir $ newdir`

Ejecute el archivo con el comando bash.

$intentomake_directory.sh

Ve arriba

Haga un directorio comprobando la existencia:

Si desea verificar la existencia de directorio en la ubicación actual antes de ejecutar el ' mkdir ', Entonces puede usar el siguiente código. '-D La opción 'se usa para probar si un directorio en particular existe o no. Cree un archivo llamado ' directory_exist.sh ’ y agregue el siguiente código para crear un directorio verificando la existencia.

#! / bin / bash
echo 'Ingrese el nombre del directorio'
leerndr
si [ -D '$ ndir' ]
luego
echo 'El directorio existe'
demás
`mkdir $ ndir`
echo 'Directorio creado'
ser

Ejecute el archivo con el comando bash.

$intentodirectory_exist.sh

Puede consultar el siguiente enlace para saber más sobre la creación de directorios.

https://linuxhint.com/bash_mkdir_not_existent_path/

Ve arriba

Leer un archivo:

Puede leer cualquier archivo línea por línea en bash usando loop. Cree un archivo llamado ' read_file.sh 'Y agregue el siguiente código para leer un archivo existente llamado' book.txt ’.

#! / bin / bash
expediente='libro.txt'
tiempo leerlínea;hacer
echo $ línea
hecho < $ archivo

Ejecute el archivo con el comando bash.

$intentoread_file.sh

Ejecute el siguiente comando para verificar el contenido original de ' book.txt ' expediente.

$gatobook.txt

Puede consultar el siguiente enlace para conocer las diferentes formas de leer el archivo.

https://linuxhint.com/read_file_line_by_line_bash/

Ve arriba

Eliminar un archivo:

rm El comando 'se usa en bash para eliminar cualquier archivo. Cree un archivo llamado ' delete_file.sh ’Con el siguiente código para tomar el nombre de archivo del usuario y eliminarlo. Aquí, '-I' La opción se utiliza para obtener permiso del usuario antes de eliminar el archivo.

#! / bin / bash
echo 'Ingrese el nombre del archivo para eliminar'
leerfn
rm -I $ fn

Ejecute el archivo con el comando bash.

$ls
$intentodelete_file.sh
$ls

Ve arriba

Agregar al archivo:

Se pueden agregar nuevos datos a cualquier archivo existente usando ‘>>’ operador en bash. Crea un archivo llamado 'Append_file.sh 'Y agregue el siguiente código para agregar contenido nuevo al final del archivo. Aquí, ' Aprendiendo Laravel 5 'Se añadirá al de' book.txt ' archivo después de ejecutar el script.

#! / bin / bash

echo 'Antes de adjuntar el archivo'
gatobook.txt

echo 'Aprendiendo Laravel 5'>>book.txt
echo 'Después de adjuntar el archivo'
gatobook.txt

Ejecute el archivo con el comando bash.

$intentoappend_file.sh

Ve arriba

Prueba si el archivo existe:

Puede verificar la existencia de un archivo en bash usando '-Y' o '-F' opción. '-F' La opción se utiliza en el siguiente script para probar la existencia del archivo. Cree un archivo llamado ' file_exist.sh 'Y agregue el siguiente código. Aquí, el nombre del archivo pasará desde la línea de comando.

#! / bin / bash
nombre del archivo=$1
si [ -F '$ nombre de archivo' ];luego
echo 'El archivo existe'
demás
echo 'El archivo no existe'
ser

Ejecute los siguientes comandos para verificar la existencia del archivo. Aquí, book.txt el archivo existe y libro2.txt no existe en la ubicación actual.

$ls
$intentofile_exist.sh book.txt
$intentofile_exist.sh book2.txt

Ve arriba

Enviar correo electrónico:

Puede enviar correo electrónico mediante ' correo ' o ' enviar correo 'Comando. Antes de usar estos comandos, debe instalar todos los paquetes necesarios. Cree un archivo llamado ' mail_example.sh 'Y agregue el siguiente código para enviar el correo electrónico.

#! / bin / bash
Recipiente= admin@example.com
Tema= Saludo
Mensaje= Bienvenido a nuestro sitio
`correo-s $ Asunto $ Destinatario <<< $ Mensaje`

Ejecute el archivo con el comando bash.

$intentomail_example.sh

Ve arriba

Obtener Parse Fecha actual:

Puede obtener el valor actual de la fecha y hora del sistema usando ` fecha `comando. Cada parte del valor de fecha y hora se puede analizar mediante ' Y ',' m ',' d ',' H ',' M ' y ' S' . Cree un nuevo archivo llamado ' date_parse.sh ’ y agregue el siguiente código para separar los valores de día, mes, año, hora, minuto y segundo.

#! / bin / bash
Año=`fecha+%Y`
Mes=`fecha+%metro`
Día=`fecha+%D`
Hora=`fecha+%H`
Minuto=`fecha+%METRO`
Segundo=`fecha+%S`
echo `fecha`
echo La fecha actual es:$ Día-$ Mes-$ Año'
echo La hora actual es:$ Hora:$ Minuto:$ Segundo'

Ejecute el archivo con el comando bash.

$intentodate_parse.sh

Ve arriba

Espere el comando:

Espere es un comando integrado de Linux que espera completar cualquier proceso en ejecución. Espere El comando se usa con un ID de proceso o de trabajo en particular. Si no se proporciona una identificación de proceso o una identificación de trabajo con el comando de espera, esperará a que se completen todos los procesos secundarios actuales y devolverá el estado de salida. Cree un archivo llamado ' wait_example.sh ’ y agregue el siguiente script.

#! / bin / bash
echo 'Esperar comando' &
identificacion de proceso=$!
Espere $ process_id
echo '¿Salió con el estado $?'

Ejecute el archivo con el comando bash.

$intentowait_example.sh

Puede consultar el siguiente enlace para saber más sobre el comando de espera.

Espere el comando en Linux

Ve arriba

Comando de sueño:

Cuando desee pausar la ejecución de cualquier comando durante un período de tiempo específico, puede usar dormir mando. Puede establecer la cantidad de retraso por segundos (s), minutos (m), horas (h) y días (d). Crea un archivo llamado 'Sleep_example.sh' y agregue el siguiente script. Este script esperará 5 segundos después de ejecutarse.

#! / bin / bash

echoEsperarpor 5segundos
dormir 5
echoTerminado

Ejecute el archivo con el comando bash.

$intentosleep_example.sh

Puede consultar el siguiente enlace para saber más sobre el comando de suspensión.

https://linuxhint.com/sleep_command_linux/

Ve arriba

Espero que, después de leer este artículo, tenga un concepto básico sobre el lenguaje de scripting bash y podrá aplicarlos según sus requisitos.