linux sh脚本数组,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)用于将字符串$a按IFS分隔符分割到数组$arr

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

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

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

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

原文来自:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值