在Bash中连接变量

11 浏览
0 Comments

在Bash中连接变量

此问题在这里已经有了答案

如何在Bash中连接字符串变量

我正在尝试在变量的中间添加一个变量,例如在PHP中我会这样做:

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

因此输出可能是20121201endoffile,那么我如何在Linux Bash脚本中实现相同的功能?

admin 更改状态以发布 2023年5月21日
0
0 Comments

尝试这样做,bash中没有特殊字符进行拼接:

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

解释

如果您不使用括号,那么您将要求bash拼接$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

0