字符串基础 #

一、字符串定义 #

1.1 定义方式 #

bash
#!/bin/bash

# 单引号字符串
str1='Hello World'

# 双引号字符串
str2="Hello World"

# 无引号字符串(不推荐)
str3=Hello

# 命令替换
str4=$(date)

# Here Document
str5=$(cat <<EOF
多行
字符串
EOF
)

1.2 单引号与双引号 #

bash
#!/bin/bash

name="张三"

# 单引号:原样输出
echo '你好, $name'    # 输出: 你好, $name

# 双引号:变量替换
echo "你好, $name"    # 输出: 你好, 张三

# 双引号中可以包含转义字符
echo "换行\n制表\t"   # 需要使用 -e 选项
echo -e "换行\n制表\t"

二、字符串长度 #

bash
#!/bin/bash

str="Hello World"

# 使用 ${#str}
echo ${#str}           # 输出: 11

# 使用 expr
expr length "$str"     # 输出: 11

# 使用 wc
echo -n "$str" | wc -c # 输出: 11

# 中文字符串长度
chinese="你好世界"
echo ${#chinese}       # 输出: 4

三、字符串拼接 #

bash
#!/bin/bash

# 直接拼接
str1="Hello"
str2="World"
result="${str1} ${str2}"
echo "$result"         # 输出: Hello World

# 使用 +=
str="Hello"
str+=" World"
echo "$str"            # 输出: Hello World

# 多行拼接
line1="第一行"
line2="第二行"
multi="${line1}
${line2}"
echo "$multi"

四、字符串截取 #

bash
#!/bin/bash

str="Hello World"

# 从指定位置开始
echo ${str:6}          # 输出: World

# 截取指定长度
echo ${str:0:5}        # 输出: Hello

# 从右边开始
echo ${str: -5}        # 输出: World

# 使用expr
expr substr "$str" 1 5 # 输出: Hello

五、字符串查找 #

bash
#!/bin/bash

str="Hello World"

# 查找子串
if [[ "$str" == *"World"* ]]; then
    echo "找到 World"
fi

# 使用case
case "$str" in
    *World*)
        echo "找到 World"
        ;;
esac

# 使用grep
if echo "$str" | grep -q "World"; then
    echo "找到 World"
fi

六、总结 #

6.1 字符串操作速查 #

操作 语法 示例
长度 $ $
截取 $ $
拼接 “${a}${b}” “${first}${last}”
查找 [[ “$str” == pattern ]] [[ “$name” == “test” ]]

6.2 下一步 #

你已经掌握了字符串基础,接下来让我们学习 字符串操作,了解更多字符串处理技巧!

最后更新:2026-03-27