重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关怎么在shell脚本中使用字符串和数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联建站-专业网站定制、快速模板网站建设、高性价比宁蒗网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宁蒗网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宁蒗地区。费用合理售后完善,10多年实体公司更值得信赖。字符串
可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析
#! /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脚本中使用字符串和数组就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。