📅  最后修改于: 2023-12-03 15:20:07.894000             🧑  作者: Mango
Shell 脚本中的字符串非常常见,可以包含在变量中或者直接使用。本文将介绍 Shell 脚本中字符串的常见操作和用法。
在 Shell 中,字符串可以使用单引号或双引号将其括起来:
string1='hello world'
string2="hello world"
其中,使用单引号括起来的字符串中的任何字符都将被视为普通字符,不会被 Shell 解释。而使用双引号括起来的字符串中,可以包含变量、转义字符、命令替换等字符,将被 Shell 解释并展开。
Shell 中可以通过 +
、空格或不使用任何字符将两个字符串连接起来:
str1='hello'
str2='world'
# 使用 + 连接
str3=$str1$str2
# 使用空格连接
str4="$str1 $str2"
# 不使用字符连接
str5=$str1$str2
可以使用 ${#str}
获取字符串的长度:
str='hello world'
len=${#str}
echo "字符串长度为 $len"
输出结果为 字符串长度为 11
。
可以使用 ${str:start:length}
来截取字符串:
str='hello world'
# 从第 1 个字符开始截取 5 个字符
substr=${str:0:5}
# 从第 7 个字符开始截取到末尾
substr2=${str:6}
echo "截取后的字符串为 $substr"
echo "截取后的字符串为 $substr2"
输出结果为:
截取后的字符串为 hello
截取后的字符串为 world
可以使用 ${str#substr}
和 ${str%substr}
来查找字符串:
str='hello world'
# 删除从开头到第一个匹配子字符串的内容并返回
substr=${str#*l}
# 删除从最后一个匹配子字符串到结尾的内容并返回
substr2=${str%l*}
echo "匹配后的字符串为 $substr"
echo "匹配后的字符串为 $substr2"
输出结果为:
匹配后的字符串为 lo world
匹配后的字符串为 hello wor
可以使用 ${str/old/new}
来替换字符串:
str='hello world'
# 将第一个匹配子字符串替换为指定的字符串
result=${str/world/john}
echo "替换后的字符串为 $result"
输出结果为 替换后的字符串为 hello john
。
本文介绍了 Shell 脚本中字符串的常见操作和用法,包括字符串的定义、连接、长度、截取、查找和替换等内容。通过掌握这些技巧,可以更好地理解和开发 Shell 脚本程序。