İki dizgiyi bash olarak birleştirmem gerekiyor, böylece:
string1=hello
string2=world
mystring=string1+string2
echo mystring
üretmeli
Selam Dünya
İki dizgiyi bash olarak birleştirmem gerekiyor, böylece:
string1=hello
string2=world
mystring=string1+string2
echo mystring
üretmeli
Selam Dünya
Yanıtlar:
Bash değişken parametrelerini kullanmayacağınız veya tanımlayıcının bir parçası olarak geçerli olacak bir karakteri hemen ekleyemediğiniz sürece {} kullanmanıza gerek yoktur. Parametreler özel karakterler içermedikçe, çift tırnak kullanmanıza gerek yoktur.
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"
Değişkenleri değişmez dizgelerle birleştirmeniz gerekirse:
string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"
echo $mystring
üretecek:
bazı merhaba keyfi dünya metin
${var}
zaman formatı kullanabilirsiniz , ancak hemen başka bir geçerli değişken ismi karakterinin hemen ardından gelmesi gerektiğinde ihtiyacınız olur $var
... örneğin: $vararbitary
"vararbitary" adlı bir değişkeni yorumlar, ancak kullanarak ${var}arbitary
.... Üzgünüm, khamer'ın abswer'ini gördüm .. ama yorumu burada da bırakabilirim.
Eğer birçok değişkeni birleştirmek istiyorsanız, +=
dizeleri eklemek için de kullanabilirsiniz . Bu okunabilirliği artırabilir.
mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}
Diğer cevapların belirttiği gibi, burada {} gerekli değildir, ancak bazı sözdizimi hatalarını önlemek için bunları kişisel olarak kullanırım.
+=
Ayrıca diziler değerler eklemek için kullanılabilir: array+=($b)
.
join
sizin için de yapabilir.