目录
1、单引号
2、双引号
3、拼接字符串
3.1 使用双引号拼接
3.2 使用单引号拼接
4、获取字符串长度
5、提取子字符串
6、查找子字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。
1、单引号
name='乔布斯' str='我很崇拜$name' echo $str |
输出结果为:
我很崇拜$name
单引号字符串的限制:
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的,单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
2、双引号
name="乔布斯" str="我很崇拜$name" echo $str |
输出结果为:
我很崇拜 乔布斯
双引号的优点:
- 双引号里可以有变量
- 双引号里可以出现转义字符
3、拼接字符串
3.1 使用双引号拼接
test6.sh
#!/bin/bash yourname="吴恩达" wenhou_1="你好,$yourname ." wenhou_2="你好,"$yourname" ." wenhou_3="你好,\"$yourname\" ." echo $wenhou_1 $wenhou_2 $wenhou_3 |
输出结果为:
你好,吴恩达 . 你好,吴恩达 . 你好,"吴恩达" .
3.2 使用单引号拼接
test7.sh
#!/bin/bash yourname="乔布斯" wenhou_4='你好,$yourname.' wenhou_5='你好,'$yourname.'' wenhou_6='你好,"$yourname" .' echo $wenhou_3 $wenhou_4 $wenhou_5 |
输出结果:
你好,$yourname. 你好,乔布斯. 你好,"$yourname" .
4、获取字符串长度
test8.sh
#!/bin/bash string="jobs" echo ${string} # 输出结果: jobs echo ${#string} # 输出结果: 4 |
5、提取子字符串
以下实例从字符串索引为2 的字符开始截取 4 个字符
test9.sh
#!/bin/bash string="敢于亮剑决不后退" echo ${string:2:2} # 输出结果为: 亮剑 |
6、查找子字符串
查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):
test10.sh
#!/bin/bash string="i am a boy" echo `expr index "$string" io` # 输出是: 1 |
注意: 以上脚本中 ` 是反引号(Esc下面的),而不是单引号 ',不要看错了哦。
往期回顾:
一、shell编程简介
二、shell编程快速入门
三、shell - 变量