Come posso concatenare le stringhe in uno script bash?


21

Come posso concatenare stringhe e variabili in uno script di shell?

stringOne = "foo"

stringTwo = "anythingButBar"

stringThree = "? e?"

Voglio produrre "pippo e nienteButBar"

Risposte:


29

Niente di speciale, devi solo aggiungerli alla tua dichiarazione.

per esempio:

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

se vuoi la parola letterale "e" tra loro:

[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

4
Se potessi dare un suggerimento, la tua richiesta è rumorosa e oscura la tua risposta (e uno spazio dopo il simbolo del dollaro aiuterebbe la leggibilità). Qualcosa come $ stringOne="foo", per esempio. Inoltre, il prompt non dovrebbe apparire su una riga di output (le righe dopo l'eco). Altrimenti +1.
In pausa fino a nuovo avviso.

10
echo ${stringOne}and${stringTwo}se non vuoi spazi
max taldykin,

Puoi anche fare stringThree=$stringOne" and "$stringTwo.
Armfoot,

5

Se invece avessi:

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

potresti fare:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.