一:字符串是shell编程中最常用且最有用的数据类型
1.字符串的表示可以用单引号
如:
str='123'
注意:
单引号字符串中的变量是无效的
单引号里的任何字符(全部字符)都会原样输出
单引号字符串不能使用单独的一个单引号,对单引号使用转义符后也不行,可以成对出现,作为字符串拼接使用。
2.也可以用双引号
个人建议还是使用双引号好
如:
str="123"
好处:
双引号里可以有变量
双引号里可以有转义字符
3.也可以不用引号
二:拼接字符串
1.使用单引号拼接
代码如下:
#!/bin/bash
name1='hello 1'
name2='1,${naem1}'
echo $name2
输出如下:
[localhost@localhost ~]# ./1.sh
1,${naem1}
所以,单引号字符串中的变量是无效的
2.使用双引号拼接
代码如下:
#!/bin/bash
name1="hello"
name2="1","${name1}"
name5="1,${name1}"
name3="1,${name1}"
echo $name2 $name3
echo $name5
输出结果为:
[localhost@localhost ~]./1.sh
1,hello 1,hello
1,hello
3.获取字符串的长度:
代码如下:
#!/bin/bash
name1="hello 1"
echo ${#name1}
输出结果:
[localhost@localhost ~]./1.sh
7
输出了7个字符,说明空格也算字符串
4.提取子字符串:
第一个字符的下标为0(也就是索引),按顺序就是0,1,2,3,4,....
代码如下:
#!/bin/bash
name="hello123"
echo ${name:2:5}
输出如下:
[localhost@localhost ~]./1.sh
llo12
以上代码中:
2指的是从下标为2的字符开始,往后取5个字符,包括2这个下标的字符
5.查找字符串:
代码如下:
#!/bin/bash
name="hello123"
echo `expr index ${name} o1`
输出如下:
[localhost@localhost ~]./1.sh
5
这里输出5,是查找到的第五个字符(仅:本人认为是第五个,不代表其他网友)
这里我要查找o(字母小欧)和1(数字1),但只出现了字母o
说明了要查找的字符哪个先出现就先找哪个
然后,上述代码输出查找字符代码中,是 ` (反引号),不是 '(单引号)
