在编程中,字符串的拼接是一个非常常见的操作。简单来说,字符串拼接就是把两个字符串连在一起。bash中字符串拼接有两种方式字符串变量和+号拼接。
最简单的拼接多个字符串变量的方法,就是把它们直接放在一起:
VAR1="你好,"
VAR2="世界"
VAR3="$VAR1$VAR2"
echo "$VAR3"
最后一行会输出拼接后的字符串:
你好,世界
你也可以把一个或多个变量和字面量字符串拼接在一起:
VAR1="你好, "
VAR2="${VAR1}世界"
echo "$VAR2"
你好,世界
在上面的例子中,变量 VAR1
被花括号包围,这是为了防止变量名和周围的字符混淆。如果变量后面紧跟着另一个有效的变量名字符,你必须用花括号 ${VAR1}
包围它。总是使用双引号把变量名包围起来,以避免单词分割或通配符展开的问题。如果你想抑制变量插值和对反斜杠字符的特殊处理,而不是使用双引号,可以使用单引号。
Bash 不会根据“类型”来区分变量;变量会根据上下文被当作整数或字符串处理。你也可以拼接只包含数字的变量。
VAR1="你好, "
VAR2=2
VAR3=" 世界"
VAR4="$VAR1$VAR2$VAR3"
echo "$VAR4"
你好,2 世界
+=
操作符拼接字符串+=
操作符,将变量或字面量字符串追加到一个变量上:VAR1="你好, "
VAR1+=" 世界"
echo "$VAR1"
你好, 世界
下面的例子是在 Bash for 循环中使用 +=
操作符来拼接字符串:languages.sh
VAR=""
for ELEMENT in '氢' '氦' '锂' '铍'; do
VAR+="${ELEMENT} "
done
echo "$VAR"
氢 氦 锂 铍
字符串变量的拼接是 Bash 脚本中最基础的操作之一, 掌握字符串的拼接才能实现更复杂的bash脚本操作。