shell脚本字符串和数组的使用操作方法

时间:2021-05-22

字符串

可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析

#! /bin/bashusername="mayuan"str_1="hello ${username}" str_2='hello ${username}'echo $str_1 # hello mayuanecho $str_2 # hello ${username}

获取字符串的长度

#! /bin/bashusername="mayuan"echo ${#username} # 6

截取字符串

#! /bin/bashusername="mayuan"echo ${username:1:3} # 从第二个字符开始截取3个字符输出"ayu"

查找指定字符

#! /bin/bashusername="mayuan"echo $(expr index "${username}" y) #查找y在指定字符的位置

数组

#! /bin/basharr=(1 2 3 4 5)echo ${arr[0]} #输出1echo ${arr[1]} #输出2

获取数组长度

#! /bin/basharr=(1 2 3 4 5)echo ${#arr[@]} #输出5echo ${#arr[*]}

PS:下面给大家介绍shell将字符串分隔成数组

#!/bin/basha="hello,world,nice,to,meet,you"#要将$a分割开,先存储旧的分隔符OLD_IFS="$IFS"#设置分隔符IFS="," #如下会自动分隔arr=($a)#恢复原来的分隔符IFS="$OLD_IFS"#遍历数组for s in ${arr[@]}doecho "$s"done

变量$IFS存储着分隔符,这里我们将其设为逗号 "," OLD_IFS用于备份默认的分隔符,使用完后将之恢复默认。

arr=($a)用于将字符串$a按IFS分隔符分割到数组$arr

${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项

${arr[@]}存储整个数组。

${!arr[@]}存储整个索引值:1 2 3 4 ...

${#arr[@]} 获取数组的长度。

总结

以上所述是小编给大家介绍的shell脚本字符串和数组的使用操作方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章