在Bash中连接变量

时间:2013-01-14 20:00:23

标签: bash shell string-concatenation

愚蠢的问题毫无疑问,我正在尝试将变量添加到变量的中间,所以例如在PHP中我会这样做:

$mystring = $arg1 . '12' . $arg2 . 'endoffile';

所以输出可能是20121201endoffile,如何在linux bash脚本中实现相同的效果呢?

1 个答案:

答案 0 :(得分:89)

尝试这样做,在bash中没有要连接的特殊字符:

mystring="${arg1}12${arg2}endoffile"

解释

如果你没有放括号,你会要求连接$arg112 + $argendoffile(我想这不是你提出的问题),如下例所示:

mystring="$arg112$arg2endoffile"

在需要时,括号为分隔符。如果不需要,您可以使用或不使用。

另一种解决方案

(不太便携:需要bash> 3.1)

$ arg1=foo
$ arg2=bar
$ mystring="$arg1"
$ mystring+="12"
$ mystring+="$arg2"
$ mystring+="endoffile"
$ echo "$mystring"
foo12barendoffile

请参阅http://mywiki.wooledge.org/BashFAQ/013