📜  字符串运算符 |外壳脚本(1)

📅  最后修改于: 2023-12-03 15:25:03.585000             🧑  作者: Mango

字符串运算符 | 外壳脚本

在外壳脚本中,字符串是非常常见的数据类型。外壳脚本提供了许多字符串运算符,可以对字符串进行不同的操作,包括连接、截取、替换等。

字符串的定义

在外壳脚本中,字符串可以用单引号或双引号来定义。例如:

str1='这是一个字符串'
str2="这也是一个字符串"

注意,使用双引号定义的字符串可以包含变量和转义字符,而单引号定义的字符串不可以。

字符串的拼接

使用字符串运算符“+”可以将两个字符串拼接成一个字符串。例如:

str1='Hello,'
str2='world!'
str3=$str1$str2
echo $str3 # 输出:Hello,world!

也可以将两个字符串拼接后,赋值给一个变量。例如:

str1='Hello,'
str2='world!'
str3=$str1$str2
echo $str3 # 输出:Hello,world!
字符串的截取

可以使用字符串运算符“#”和“%”来截取字符串。

  • “#”用于从前往后截取,表示从左边开始删除符合条件的最短字符串。
  • “%”用于从后往前截取,表示从右边开始删除符合条件的最短字符串。
str='hello world'
echo ${str#*o} # 输出:llo world
echo ${str##*o} # 输出:ld
echo ${str%l*} # 输出:hello wor
echo ${str%%l*} # 输出:he

可以看到,“#”和“%”后面可以跟通配符,表示匹配符合条件的字符串。

字符串的替换

可以使用字符串运算符“/”和“//”来替换字符串。

  • “/”只替换符合条件的第一个字符串。
  • “//”替换符合条件的所有字符串。
str='hello world'
echo ${str/o/O} # 输出:hellO world
echo ${str//o/O} # 输出:hellO wOrld

同样地,“/”和“//”后面也可以跟通配符,表示匹配符合条件的字符串。如果省略“/”或“//”,则表示将字符串中所有的匹配项删除。

结语

字符串是外壳脚本中常用的数据类型,了解字符串运算符可以更方便地对字符串进行操作。除了以上介绍的字符串运算符外,外壳脚本还提供了其他的字符串运算符,更多详情请参考外壳脚本的文档。