Como concatenar strings no bash: guia para unir variáveis

A maioria das linguagens de programação permite a concatenação de duas ou mais strings. Uma linguagem que torna esse processo extremamente simples é o bash.

O que torna o bash uma ótima opção é que as variáveis de string podem ser concatenadas sem a necessidade de comandos ou funções dedicadas. Em outras palavras, para combinar dados de strings, os usuários podem recorrer à manipulação direta das variáveis ou aplicar a mesma lógica com o operador de atribuição de adição (+=).

Neste tutorial, vamos apresentar o script Bash, explicar o que é a concatenação de cadeia de caracteres e descrever diferentes maneiras de concatenar strings no bash.

O Que é um Script Bash?

Bash shell scripting permite que os usuários executem centenas de comandos Linux com apenas um script ao invés de ter que escrevê-los um por um.

Trata-se de um recurso extremamente útil para desenvolvedores que buscam automatizar operações em seus servidores físicos ou servidores virtuais privados (VPS), elevando a produtividade.

Por exemplo, qualquer comando que um usuário roda em ambiente nativo ou em um terminal pode ser colocado em um script bash. Isso também se aplica às funções, então ao invés de ter que escrevê-las toda vez, os programadores só precisam escrever a função uma única vez e então reutilizá-la em qualquer outro script bash. 

Qualquer script começa com um arquivo .sh e contém uma estrutura semelhante à indicada abaixo:

#!/bin/bash
# Creates a new variable "Hello, World"
mybashvariable="Hello, World"
echo $mybashvariable

A primeira linha informa ao terminal que o script deve ser rodado exclusivamente usando bash. Todas as linhas restantes compõem o script em si. 

Neste exemplo específico, o script criou uma nova variável chamada mybashvariable e atribuiu a ela um valor “Hello, World”, que será o output exibido pelo script. 

o script criou uma nova variável chamada mybashvariable

O Que é Concatenação no Linux?

As operações de concatenação indicam o processo de anexar uma string ao final de outra string. O bash permite que os usuários unam as cadeias de caracteres ao escrever as strings uma após a outra, ou ao conectá-las através do operador matemático +=.

Concatenação de Strings – Adicionando uma Variável Depois da Outra

O método mais simples de concatenação de strings é adicionar uma variável de string após a outra. Nas próximas seções vamos apresentar três maneiras diferentes de fazer isso.

Concatenação com Strings Literais

Literal strings, ou strings literais, são exibidas (print) literalmente, e há dois métodos para isso – usando aspas simples ou o símbolo de barra invertida com aspas duplas. No exemplo a seguir, vamos criar uma variável de string literal sem aspas e exibi-la com o comando echo:

#!/bin/bash
variablename=\usr\bin\env
echo "$variablename"

Neste caso, o resultado seria:

# Result
usrbinenv

Agora, quando adicionamos aspas simples ou duplas ao nome da variável de string, o comando echo vai exibir (print) o valor literalmente:

#!/bin/bash
variablename='\usr\bin\env'
echo "$variablename"

Aqui está o resultado:

# Result
\usr\bin\env

Em seguida, é só aplicar essa lógica para concatenar duas strings:

#!/bin/bash
variablename='\usr\bin\env'
echo "$variablename Bash_Is_Awesome"

Também podemos envolver a variável da última linha com parênteses () para protegê-la. As chaves {} são mais úteis quando há uma variedade de variáveis:

echo "${variablename} Bash_Is_Awesome"

Em ambos casos, o resultado será exibido como:

\usr\bin\env Bash_Is_Awesome

Concatenação de Múltiplas Variáveis 

Múltiplas strings podem ser facilmente concatenadas através da manipulação direta das variáveis.

Por exemplo, no script bash de exemplo, usaremos três variáveis diferentes para criar valores combinados. O comando echo irá exibir (print) os dados da string:

#!/bin/bash
variablename='\usr\bin\env '
myvariable='_Awesome'
anothervariable="$variablename"Bash_Is"$myvariable"
echo "$anothervariable"

O output gerada será semelhante a:

\usr\bin\env Bash_Is_Awesome

Concatenação de Números e Strings

A ferramenta de script bash permite que os usuários concatenar uma ou mais variáveis que não sejam do tipo string. Por esse motivo também é possível concatenar múltiplas variáveis, que podem ser tanto strings quanto números:

#!/bin/bash
firstvariable=" Hello, World "
secondvariable="Hello, Hostinger "
thirdvariable=" I now know how to concatenate strings in bash."
fourthvariable="$secondvariable"and"$firstvariable"means"$thirdvariable"
echo $fourthvariable
Concatenação de strings Bash de números e strings

Concatenando Strings com o Operador += 

Outra maneira de unir duas ou mais strings para criar uma string concatenada é utilizando operador de atribuição de adição (+=). Com esse operador é possível conectar strings usando uma ou mais variáveis.  

Por exemplo, o script apresentado abaixo pode ser usado para concatenar duas strings através de uma única variável:

#!/bin/bash
mystring="I would like to generate a meaningful output, please. "
mystring+="Not a chance, friend!"
echo "$mystring"
Conectando ambas as strings sem nenhuma função ou comando embutido no bash. Os valores combinados são obtidos usando o operador append +=.

Um output semelhante pode ser gerado com o uso de duas variáveis:

#!/bin/bash
firststring="This is a single string. "
secondstring="Which makes this a resulting string."
# Curly brackets between $secondvariable are called variable interpolation.
firststring+="${secondstring}"
echo $firststring
Exemplo de uso do operador de concatenação de strings no Bash. Duas strings são pegadas e concatenadas com a ajuda do operador de concatenação.

Concatenando Strings Numéricas

O método do operador de adição também pode ser usado para anexar exclusivamente variáveis de strings numéricas.

#!/bin/bash
numeric_string=2050
numeric_string+=0502
echo $numeric_string
Script Bash para unir variáveis de cadeia numérica. Os sinais de mais e igual correspondem ao operador de acrescentar.

Entretanto, se você deseja somar os números, outra lógica precisa ser aplicada:

#!/bin/bash
x=3
y=5
z=6
((x+=y+=z))
echo $x
Script Bash para somar três números

Concatenando Strings com o Bash for loop 

Uma maneira mais avançada de utilizar a funcionalidade de concatenar strings no Bash é implementá-la dentro de um for loop.

No exemplo a seguir, temos uma variável myvariable com três strings; e uma variável chamada results com uma string vazia. Com a ajuda do loop for do bash, se torna possível combinar as strings da variável myvariable com nossa spring:

#!/bin/bash
myvariable="bash concatenation Hostinger"
results=""
for i in $myvariable
do
results+="The answer is $i... "
done
echo $results
Exemplo de loop bash em um script bash. É usado para unir três strings com a string preferida. O comando Echo imprime o resultado combinado.

Conclusão

A linguagem de programação bash é uma ferramenta conveniente e eficiente para executar diversas ações de manipulação de variáveis. Um dos exemplos mais importantes é a sua capacidade de unir diferentes variáveis de string em uma só.

Neste tutorial, apresentamos a definição de concatenação e de scripting em bash. Também indicamos como concatenar strings através de dois métodos diferentes.

Esperamos que este tutorial tenha te ajudado a entender melhor sobre o assunto. Caso tenha alguma dúvida, fique à vontade para comentar na seção abaixo. 

Author
O autor

Diego Boada

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.