Como faço para concatenar strings em um script bash?

21

Como posso concatenar strings e variáveis em um script de shell?

stringOne = "foo"

stringTwo = "anythingButBar"

stringThree = "? and ?"

Eu quero produzir "foo e anythingButBar"

    
por Moshe 27.01.2011 / 23:19

2 respostas

29

Nada de especial, você só precisa adicioná-los à sua declaração.

por exemplo:

[Zypher@host01 monitor]$ stringOne="foo"
[Zypher@host01 monitor]$ stringTwo="anythingButBar"
[Zypher@host01 monitor]$ stringThree=$stringOne$stringTwo
[Zypher@host01 monitor]$ echo $stringThree 
fooanythingButBar

se você quiser a palavra literal "e" entre eles:

[Zypher@host01 monitor]$ stringOne="foo"
[Zypher@host01 monitor]$ stringTwo="anythingButBar"
[Zypher@host01 monitor]$ stringThree="$stringOne and $stringTwo"
[Zypher@host01 monitor]$ echo $stringThree 
foo and anythingButBar
    
por 27.01.2011 / 23:24
5

Se você tivesse:

stringOne="foo"
stringTwo="anythingButBar"
stringThree="%s and %s"

você poderia fazer:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
    
por 28.01.2011 / 01:15