How to concat variable and string in bash script

2020-02-26 11:01发布

问题:

How to concat variable and string in bash script ?

val1 = Variable1 + "any string "

eg :

val1 = $i + "-i-*"

where i = 24thMarch

I want echo val1 :

24thMarch-i-*

What is proper proper to get the solution ?

回答1:

Strings are concatenated by default in the shell.

value="$variable"text"$other_variable"

It's generally considered good practice to wrap variable expansions in double quotes.

You can also do this:

value="${variable}text${other_variable}"

The curly braces are useful when dealing with a mixture of variable names and strings.

Note that there should be no spaces around the = in an assignment.



回答2:

Late for the party, my 2 cents for another solu., also works in zsh:

i=`date +%d%b`

val1="$i-i-*"



回答3:

Nice.

Mac OS X 10.12 works with following ...


#!/bin/bash

var1=bar
var2=foo
var3="$var1"sometext
echo $var3

Result

= barfoosometext