字符串基础 #
一、字符串定义 #
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