La concatenación de cadenas puede ser una parte importante del uso de cualquier lenguaje de programación para aplicaciones prácticas.
También puede concatenar cadenas en bash. Aquí no hay operador de concatenación. Simplemente escriba las cadenas una tras otra para unir cadenas en Bash.
concat_string="$str1$str2"
¡No te preocupes! Te mostraré varios ejemplos reales para concatenar cadenas en bash.
Asignación de cadenas concatenadas
No hay tipos de datos en Bash como en la mayoría de los lenguajes de programación. Pero aún puede declarar variables en Bash.
Así es como asigna cadenas en Bash:
[email protected]:~$ w='Welcome'
Puede usar el comando printf para imprimir el valor de esta variable de cadena:
[email protected]:~$ printf "$w\n"
Welcome
Vamos a crear algunas cadenas más:
[email protected]:~$ t='To'
[email protected]:~$ l='Linux'
[email protected]:~$ h='Handbook!'
Quiero combinar todas estas variables de cadena en una sola. ¿Cómo hacer eso?
[email protected]:~$ tony="${w} ${t} ${l} ${h}"
De esta manera, concatené las cuatro cadenas en una sola variable y la llamé tony
. Tenga en cuenta que he agregado un espacio entre las variables.
Confirmemos rápidamente que las cadenas se han combinado:
[email protected]:~$ printf "$tony\n"
Welcome To Linux Handbook!
Aquí está todo en un Bash Script:
#!/bin/bash
w='Welcome'
t='To'
l='Linux'
h='Handbook'
tony="${w} ${t} ${l} ${h}"
printf "${tony}\n"
Hágalo ejecutable y ejecútelo como un script:
[email protected]:~$ chmod +x concat.sh
[email protected]:~$ ./concat.sh
Welcome To Linux Handbook!
Las llaves {} alrededor de los nombres de las variables no son obligatorias al concatenar cadenas. Sin embargo, para aclarar las cosas y protegerlo de los caracteres circundantes, es una buena práctica envolverlos en {}. Agregar a cadena en bash
El ejemplo anterior combina diferentes cadenas en una sola.
Tomemos otro escenario. Digamos que desea agregar a una cadena ya existente. ¿Como hacer eso? Usas el maravilloso operador +=.
str="iron"
str+="man"
¿Puedes adivinar el nuevo valor de str
? ? ¡Sí! Es ironman
.
[email protected]:~$ str="iron"
[email protected]:~$ str+="man"
[email protected]:~$ echo $str
ironman
Esto es útil cuando usa bucles en bash. Tome este ciclo for por ejemplo:
#!/bin/bash
var=""
for color in 'Black' 'White' 'Brown' 'Yellow'; do
var+="${color} "
done
echo "$var"
Si ejecuta el script anterior, se agregará a la cadena después de cada iteración.
Black White Brown Yellow
Concatenar números y cadenas
Como mencioné anteriormente, no hay tipos de datos en Bash. Las cadenas y los números enteros son lo mismo y, por lo tanto, se pueden unir fácilmente en una sola cadena.
Veamos otro ejemplo a través de un segundo script. Esta vez, usaré un número:
#!/bin/bash
we='We'
lv='Love'
y='You'
morgan=3000
stark="${we} ${lv} ${y} ${morgan}!!!"
printf "${stark}\n"
Ejecución:
[email protected]:~$ chmod +x morgan.sh
[email protected]:~$ ./morgan.sh
We Love You 3000!!!
Concatenación anidada de cadenas
También puede almacenar esas dos cadenas concatenadas dentro de una tercera a través de la concatenación anidada:
#!/bin/bash
w='Welcome'
t='To'
l='Linux'
h='Handbook'
tony="${w} ${t} ${l} ${h}"
we='We'
lv='Love'
y='You'
morgan=3000
stark="${we} ${lv} ${y} ${morgan}!!!"
ironman="${tony}..${stark}"
printf "${ironman} Forever!\n"
Cuando ejecute este script de shell, verá este resultado:
Welcome To Linux Handbook..We Love You 3000!!! Forever!
Conclusión
Si es la primera vez que usa scripts de shell, le recomiendo nuestra serie de tutoriales de Bash para principiantes.
Espero que este pequeño y rápido tutorial te haya ayudado a concatenar cadenas bash. Si tiene preguntas o sugerencias, no dude en dejar un comentario a continuación.