shell中的字符串
字符串简介
1、字符串是shell编程当中最常见的数据类型,在字符串的编写时可以用单引号也可以用双引号,或者是什么都不写。
2、单引号与双引号的区别
单引号所编写的字符串要注意的是,单引号书写的字符串有所限制,即单引号内的任何语句都会原样输出,单引号引用变量时是无效的;并且·单引号中不允许出现单个引号和转义字符,但可以成对出现。
(1)例如,下图所示
a.sh文件中代码如下
#!/bin/bash
str='boy'
str1='this is $str'
str2="this is $str"
echo $str1
echo $str2
(2)终端执行结果如下:
字符串的常用操作
1、字符串拼接
双引号拼接· 单引号拼接 占位符 shell编程中的字符串拼接不需要拼接标识符
2、字符串长度
${#字符串名称} 获取字符串长度
3、提取字符串
字
符
串
名
称
:
起
始
地
址
:
获
取
长
度
4
、
字
符
串
查
找
‘
e
x
p
r
i
n
d
e
x
′
{字符串名称:起始地址:获取长度} 4、字符串查找 `expr index '
字符串名称:起始地址:获取长度4、字符串查找‘exprindex′str’ o`
查找字符中str中从左到右第一个出现的o的下标
(1)编写文件b.sh中的代码
#!/bin/bash
str="hello world"
str1="one"
echo $str $str1
echo ${#str}
echo ${str:1:2}
echo `expr index "$str" o`
(2)程序执行结果如下:
shell编程中的数组
1、shell编程中的数组不支持多维数组,支持一维数组,并且·实际的数组并没有限定数组的大小,其下标从零开始。
2、数组的定义
数组名=(值 值 值 …)
注释:值与值之间用空格隔开
3、获取数组中的值
${数组名[数组下标]}
4、给数组赋值
数组名[数组下标]=值
5、获取·当前数组的所有值
${数组名[@]}
6、获取数组长度
${#数组名[@]}
(1)例如实际执行;
#!/bin/bash
arr=(1 2 3 4 5 6 7 8 9)
echo ${arr[@]}
echo $arr{arr[1]}
arr[20]=22
echo ${arr[@]}
echo ${#arr[@]}
(2)
执行结果如下: