shell脚本字符串和数组的使⽤操作⽅法
字符串
可以使⽤单引号和双引号定义字符串变量但是单引号中不⽀持变量解析
#! /bin/bash
username="mayuan"
str_1="hello ${username}"
str_2='hello ${username}'
echo $str_1 # hello mayuan
echo $str_2 # hello ${username}
获取字符串的长度
#! /bin/bash
username="mayuan"
echo ${#username} # 6
截取字符串
逗号分割字符串转数组#! /bin/bash
username="mayuan"
echo ${username:1:3} # 从第⼆个字符开始截取3个字符输出"ayu"
查指定字符
#! /bin/bash
username="mayuan"
echo $(expr index "${username}" y) #查y在指定字符的位置
数组
#! /bin/bash
arr=(1 2 3 4 5)
echo ${arr[0]} #输出1
echo ${arr[1]} #输出2
获取数组长度
#! /bin/bash
arr=(1 2 3 4 5)
echo ${#arr[@]} #输出5
echo ${#arr[*]}
PS:下⾯给⼤家介绍shell将字符串分隔成数组
#!/bin/bash
a="hello,world,nice,to,meet,you"
#要将$a分割开,先存储旧的分隔符
OLD_IFS="$IFS"
#设置分隔符
IFS=","
#如下会⾃动分隔
arr=($a)
#恢复原来的分隔符
IFS="$OLD_IFS"
#遍历数组
for s in ${arr[@]}
do
echo "$s"
done
变量$IFS存储着分隔符,这⾥我们将其设为逗号 "," OLD_IFS⽤于备份默认的分隔符,使⽤完后将之恢复默认。arr=($a)⽤于将字符串$a按IFS分隔符分割到数组$arr
${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项
${arr[@]}存储整个数组。
${!arr[@]}存储整个索引值:1 2 3 4 ...
${#arr[@]} 获取数组的长度。
总结
以上所述是⼩编给⼤家介绍的shell脚本字符串和数组的使⽤操作⽅法 ,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论