문자열 변수를 세 번째로 연결하는 방법?


36

bash에서 두 개의 문자열을 연결해야하므로 다음과 같습니다.

string1=hello
string2=world

mystring=string1+string2

echo mystring 생산해야한다

헬로 월드


터미널 명령 join도 당신을 위해 일을 할 수 있습니다.
Léo Léopold Hertz 준영

답변:


38

단순히 변수를 연결하십시오.

mystring="$string1$string2"

51

bash 변수 매개 변수를 사용하거나 식별자의 일부로 유효한 문자를 즉시 ​​추가하지 않는 한 {}을 사용할 필요가 없습니다. 매개 변수에 특수 문자가 포함되지 않는 한 큰 따옴표를 사용할 필요도 없습니다.

x=foo
y=bar
z=$x$y        # $z is now "foobar"
z="$x$y"      # $z is still "foobar"
z="$xand$y"   # does not work
z="${x}and$y" # does work, "fooandbar"
z="$x and $y" # does work, "foo and bar"

2
이것이 제가 찾던 것입니다 [z = "$ xand $ y"# 작동하지 않습니다 ..... z = "$ {x} and $ y"# 작동합니다, "fooandbar"]. 감사.
blokeish

18

리터럴 문자열로 변수를 연결해야하는 경우 :

string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"

echo $mystring 생산할 것이다 :

임의의 세계 텍스트


6
${var}언제든지 원하는 형식을 사용할 수 있지만 다른 유효한 변수 이름 문자 바로 뒤에 오는 경우 에만 필요 합니다 $var. 예 : $vararbitary"vararbitary"라는 변수를 해석하지만 다음을 사용하여 해결할 수 있습니다. ${var}arbitary.... 죄송합니다. 방금 카 메르의 농담을 보았습니다 .. 그러나 여기에 의견을 남길 수도 있습니다.
Peter.O

11

많은 변수를 연결하려면 +=문자열을 추가 하는 데 사용할 수도 있습니다 . 이렇게하면 가독성이 향상 될 수 있습니다.

mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}

다른 답변에서 언급했듯이 {}은 필요하지 않지만 개인적으로 항상 구문 오류를 피하기 위해 사용합니다.

+=배열에 값을 추가하는 데 사용할 수도 있습니다 array+=($b).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.