Як з'єднати рядки в bash-скрипт?


21

Як я можу об'єднати рядки та змінні в сценарій оболонки?

stringOne = "foo"

stringTwo = "whatButBar"

stringThree = "? і?"

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

Відповіді:


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

4
Якщо я можу зробити пропозицію, ваша підказка шумить і затьмарює вашу відповідь (і пробіл після знака долара допоможе читати). Щось подібне $ stringOne="foo", наприклад. Також запит не повинен з’являтися у вихідному рядку (рядки після відлуння). Інакше +1.
Призупинено до подальшого повідомлення.

10
echo ${stringOne}and${stringTwo}якщо ви не хочете пробілів
max taldykin

Ви також можете зробити stringThree=$stringOne" and "$stringTwo.
Armfoot

5

Якщо натомість у вас було:

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

ви можете зробити:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.