📌  相关文章
📜  shell 脚本中的字符串 - Shell-Bash (1)

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

Shell 脚本中的字符串

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 脚本程序。