网络运营 > 服务器 > Linux

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

255人参与2019-09-09

字符串

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

#! /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脚本字符串和数组的使用操作方法 ,希望对大家有所帮助

留下您精彩的一笔!!点此进行留言回复

最近更新

视频转码-编译ffmpeg、X264、fdk-acc

07-08

android引入第三方aar,jar冲突如何解决?

07-08

S3C2440 开发板实战(9):poll机制

07-08

linux驱动最小模块构成

07-08

基于HI3516DV300平台GT911触摸屏调试

07-08

Ubuntu下编译支持RTSP流协议的ijkplayer

07-08

推荐阅读

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

09-09

Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示

10-14

一张图让你学会Vim编辑器快捷键

09-09

cloudera manager 设置开机自启的方法

06-19

Linux 相对路径和绝对路径的使用

05-12

你可能会用到的16个Linux命令

06-01

浅谈find命令下的atime,ctime,mtime

09-26

详解linux tail命令显示最后n行

05-03

CentOS 7下用firewall-cmd控制端口与端口转发详解

04-23

Linux中的特殊符号与正则表达式

10-21

基于Shell中for循环的几个常用写法分享

08-10

Linux 基于CentOS的LNMP 服务器部署标准 新手简明版

09-26

Centos 7 64位桌面版安装图文教程

05-29

Shell脚本判断用户的输入内容

04-02

热门评论