本篇文章重点为大家讲解一下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[*]}
将字符串分隔成数组
#!/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
#!/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按IFS分隔符分割到数组$arr -
{arr[1]} … 分别存储分割后的数组第1 2 … 项 -
${arr[@]}存储整个数组。 -
${!arr[@]}存储整个索引值:1 2 3 4 … -
${#arr[@]} 获取数组的长度。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !