21

Как я могу объединить строки и переменные в сценарии оболочки?

stringOne = "foo"

stringTwo = "everythingButBar"

stringThree = "? а также ?"

Я хочу вывести "foo и что-нибудьButBar"

2 ответа2

29

Ничего особенного, вам просто нужно добавить их в вашу декларацию.

например:

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

если вы хотите буквальное слово «и» между ними:

[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
5

Если вместо этого у вас было:

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

Вы могли бы сделать:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .