No necesita usar {} a menos que vaya a usar parámetros de variables bash o añada inmediatamente un carácter que sea válido como parte del identificador. Tampoco necesita usar comillas dobles a menos que sus parámetros incluyan caracteres especiales.
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"
Puede usar el ${var}formato cuando lo desee, pero solo lo necesita cuando $varva a ser seguido inmediatamente por otro carácter válido de nombre de variable ... por ejemplo: $vararbitaryinterpretará una variable llamada "vararbitaria", pero puede evitarla usando ${var}arbitary.... uy, acabo de ver la respuesta de Khamer ... pero también puedo dejar el comentario aquí.
Peter.O
11
Si desea concatenar muchas variables, también puede usarlas +=para agregar cadenas. Esto puede aumentar la legibilidad.
join
también podría hacer lo mismo por usted.Respuestas:
simplemente concatene las variables:
fuente
No necesita usar {} a menos que vaya a usar parámetros de variables bash o añada inmediatamente un carácter que sea válido como parte del identificador. Tampoco necesita usar comillas dobles a menos que sus parámetros incluyan caracteres especiales.
fuente
En caso de que necesite concatenar variables con cadenas literales:
echo $mystring
Producirá:fuente
${var}
formato cuando lo desee, pero solo lo necesita cuando$var
va a ser seguido inmediatamente por otro carácter válido de nombre de variable ... por ejemplo:$vararbitary
interpretará una variable llamada "vararbitaria", pero puede evitarla usando${var}arbitary
.... uy, acabo de ver la respuesta de Khamer ... pero también puedo dejar el comentario aquí.Si desea concatenar muchas variables, también puede usarlas
+=
para agregar cadenas. Esto puede aumentar la legibilidad.Como se menciona en otras respuestas, las {} no son necesarias aquí, pero personalmente siempre las uso para evitar algunos errores de sintaxis.
+=
también se puede utilizar para añadir valores a arrays:array+=($b)
.fuente