bash에서 두 문자열을 연결해야 합니다.
string1=hello
string2=world
mystring=string1+string2
echo mystring
생산해야 한다
안녕하세요 세계
답변1
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
변수를 연결하기만 하면 됩니다.
mystring="$string1$string2"
답변3
변수를 리터럴 문자열과 연결해야 하는 경우:
string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"
echo $mystring
생산할 것입니다:
안녕하세요 어떤 세계 텍스트도 있습니다.
답변4
많은 변수를 연결하려는 경우 +=
추가 문자열을 사용할 수도 있습니다. 이렇게 하면 가독성이 높아질 수 있습니다.
mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}
다른 답변에서 언급했듯이 {}는 여기에 필요하지 않지만 개인적으로 구문 오류를 피하기 위해 항상 사용합니다.
+=
배열에 값을 추가하는 데에도 사용할 수 있습니다 array+=($b)
.