一、字符串变量的创建
- 使用单引号创建:var='test'。
这种方式创建的变量只能原样输出,变量无效,我们可以借用c中的“字符串常量”的定义理解这种特性。除此以外,单引号中不能出现单独的单引号,转义也是不可以的。 - 使用双引号创建:var="my name is ${name}",这种方式创建的字符串变量有效,也可以出现转义符。
- 在shell脚本中,转义字符用于将特殊字符转义为普通字符,以便正确地解释和执行脚本。常见的转义字符包括:
1.\:用于转义特殊字符,如空格、$、&等。
2.n:表示换行符。
3.t:表示制表符。
4.r:表示回车符。
5.a:表示响铃符。
6.b:表示退格符。
7.f:表示换页符。
二、字符串拼接
- 字面量拼接
str01="1""2"或者str01="1"'2',这样就将1和2两个字符拼接在了一起。需要注意的是两个串之间不可以有空格。 - 变量拼接
str03=${part01}${part02}或str04=${part01}"end"或str05="${part01} ${part02}"这三种方式都可以拼接字符串变量。 - 命令拼接
str02= date“end”,这里的date是一个shell命令,需要使用引用,具体如下:
三、获取字符串长度
1.使用wc -L
命令
wc -L
可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l
则是获取当前字符串内容的行数。
2、使用expr length
可以获取string的长度
四、提取子字符串
1、截取某个字符串后的字符串
${varible##*string} | 从左向右截取最后一个string后的字符串 |
${varible#*string} | 从左向右截取第一个string后的字符串 |
${varible%%string*} | 从右向左截取最后一个string后的字符串 |
${varible%string*} | 从右向左截取第一个string后的字符串 |
2.使用${varible:n1:n2}
截取变量varible从n1到n2之间的字符串,n1,n2类似字符串的下标,从0开始,可以根据特定字符偏移和长度,来选择特定子字符串,如下代码