bashスクリプトで文字列を連結するにはどうすればよいですか?


21

シェルスクリプトで文字列と変数を連結するにはどうすればよいですか?

stringOne = "foo"

stringTwo = "anythingButBar"

stringThree = "?および?"

「foo and anythingButBar」を出力したい

回答:


29

特別なことはありません。宣言に追加するだけです。

例えば:

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

それらの間にリテラルの単語「and」が必要な場合:

[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}スペースが必要ない場合
最大タルディキン

することもできますstringThree=$stringOne" and "$stringTwo
アームフット

5

代わりに持っていた場合:

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

あなたができる:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.