在Bash中连接变量
在Bash中连接变量
此问题在这里已经有了答案:
我正在尝试在变量的中间添加一个变量,例如在PHP中我会这样做:
$mystring = $arg1 . '12' . $arg2 . 'endoffile';
因此输出可能是20121201endoffile
,那么我如何在Linux Bash脚本中实现相同的功能?
admin 更改状态以发布 2023年5月21日
尝试这样做,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