it-swarm-tr.com

dize değişkenlerini üçte birine nasıl birleştirebilirim?

Ben bash iki dizeleri birleştirmek gerekir, böylece:

string1=hello
string2=world

mystring=string1+string2

echo mystring üretmelidir

selam Dünya

39
michelemarcon

sadece değişkenleri birleştirin:

mystring="$string1$string2"
40
SiegeX

Bash değişken parametrelerini kullanmazsanız veya tanımlayıcının bir parçası olarak geçerli olacak bir karakteri hemen eklemezseniz {} kullanmanıza gerek yoktur. Parametreler özel karakterler içermeyeceği sürece, çift tırnak kullanmanız da gerekmez.

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"
53
khamer

Değişkenleri değişmez dizelerle birleştirmeniz gerektiğinde:

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

echo $mystring üretecek:

merhaba keyfi dünya metni

19
phunehehe

Çok sayıda değişkeni birleştirmek isterseniz, dizeleri eklemek için += Kullanabilirsiniz. Bu, okunabilirliği artırabilir.

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

Diğer cevapların da belirttiği gibi, burada {} gerekli değildir, ancak kişisel olarak her zaman bazı sözdizimi hatalarını önlemek için kullanıyorum.

+=, Dizilere değer eklemek için de kullanılabilir: array+=($b).

12
mariux