在几乎所有的编程语言中,字符串拼接都是非常重要的一环。bash中也可以拼接字符串,但是bash中没有拼接字符串的操作符,只需要将字符串一个一个写到一起即可。如下所示:concat_string="$str1$str2"让我们用实例来介绍如何在bash中连接字符串。与大多数其他编程语言一样,bash中没有数据类型,但我们仍然可以在bash中声明变量。比如我们要声明一个字符串变量:$'Welcome',我们可以使用printf命令打印这个字符串变量的值:$printf"$w\n"Welcome让我们先定义几个字符串变量:$'到'$'Linux'$'手册!那么如何将这些字符串拼接起来形成一个新的变量呢?$"${w}${t}${l}${h}"通过这种方式,我将所有四个字符串连接成一个变量并将其命名为tony。请注意,我在变量之间添加了一个空格。然后我们验证新字符串:$printf"$tony\n"WelcomeToLinuxHandbook!这是完整的bash脚本:#!/bin/bashw='Welcome't='To'l='Linux'h='Handbook'tony="${w}${t}${l}${h}"printf"${tony}\n"设置其可执行权限,然后执行:$chmod+xconcat.sh$./concat.sh欢迎来到Linux手册!连接字符串时,变量名周围的大括号{}不是必需的。不过,为了让代码更具可读性,最好加上花括号{}。StringAppending上面的例子是将多个字符串拼接成一个。那么如何将一串字符附加到现有字符串中呢?这可以使用+=运算符来实现。如下图:str="iron"str+="man"这样,最后str的值是多少呢?答案是钢铁侠。$"iron"$"man"$echo$strironman这在我们在bash中使用循环时很有用,例如:#!/bin/bashvar=""forcolorin'Black''White''Brown''Yellow';do"${color}doneecho"$var"运行上面的脚本会产生以下结果:Blackconcatenatesnumbersandstrings正如我们前面提到的,Bash中没有数据类型。字符串和整数是相同的,因此可以很容易地将它们连接成一个字符串。让我们使用上面的第二个脚本来看另一个例子。这次,我们使用一个数字:#!/bin/bashwe='We'lv='Love'y='You'morgan=3000stark="${we}${lv}${y}${morgan}!!!"printf"${stark}\n"执行:$chmod+xmorgan.sh$./morgan.shWeLoveYou3000!!!字符串的嵌套拼接在上面的例子中,我们得到了两个拼接的字符串,这两个字符串也可以嵌套拼接。存储在第三个字符串中。如下脚本所示:#!/bin/bashw='Welcome'='To'l='Linux'h='Handbook'tony="${w}${t}${l}${h}"we='We'lv='Love'y='你摩根=3000stark="${we}${lv}${y}${morgan}!!!"ironman="${tony}..${stark}"printf"${ironman}Forever!\n"执行结果如下:WelcomeToLinuxHandbook..WeLoveYou3000!!!Forever!
