字符串是shell编程中最常用最有用的数据类型,因为你定义一个变量,存的值就是一个字符串,字符串可以用单引号,也可以用双引号,也可以不用引号。
- 单引号
- 字符串原样输出
- 单引号中不能出现单引号(使用转义字符也不行)
- 双引号
- 可以使用变量
- 可以使用转义字符
#!/bin/bash
A=1
name1="yisheng"
name2="huaxia"
#拼接字符串
echo "拼接字符串"
echo ${name1} zai ${name2}
#求字符串的长度
echo "求字符串长度"
echo ${#name1}
echo `expr length ${name1}`
echo ${name1} | awk '{print length($0)}'
#截取字符串
echo "截取字符串"
#下标从0开始
echo ${name1:1:2}
#下标从1开始
echo `expr substr "${name1}" 1 2`
#下标从1开始
echo ${name1}| awk '{print substr($0,1,2)}'
#index检索子串--返回第一次出现的位置;若找不到,则返回1
#下标从1开始
echo "检索子串"
echo `expr index "${name1}" en`
#match匹配字串--返回匹配到子串的长度;若找不到,则返回0
echo "匹配子串"
echo `expr match "${name1}" eng`
#替换字符串
str="nihao is chinese,hello is english,nihao"
#${string/substr/replace}仅替换第一次匹配的
echo ${str/nihao/你好}
#${string//substr/replace}替换所有匹配的
echo ${str//is/是}
执行结果如下:
|