如何在bash脚本中连接变量和字符串

Ash*_*rpe 6 bash shell scripting concat concatenation

如何在bash脚本中连接变量和字符串?

val1 = Variable1 + "any string "
Run Code Online (Sandbox Code Playgroud)

例如:

val1 = $i + "-i-*"
Run Code Online (Sandbox Code Playgroud)

其中i = 24thMarch

我想要echo val1:

24thMarch-i-*
Run Code Online (Sandbox Code Playgroud)

什么是适当的解决方案?

Tom*_*ech 14

默认情况下,字符串在shell中连接.

value="$variable"text"$other_variable"
Run Code Online (Sandbox Code Playgroud)

通常认为将变量扩展包装在双引号中是一种好习惯.

你也可以这样做:

value="${variable}text${other_variable}"
Run Code Online (Sandbox Code Playgroud)

在处理变量名和字符串的混合时,花括号很有用.

请注意,=赋值中不应有空格.

  • 我没有提到任何有关单引号的事情。在第二个示例中,需要使用花括号将变量名称与文字文本分隔开。当然,第二个变量周围的花括号是不需要的,因为它没有歧义。第二个示例中的双引号是多余的,因为没有空格,但它们不会造成任何损害。 (3认同)