你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Linux之shell字符串

2021/12/16 7:17:17

一:字符串是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
说明了要查找的字符哪个先出现就先找哪个
然后,上述代码输出查找字符代码中,是 ` (反引号),不是 '(单引号)