shell中的数组简单运用

##################数组###########
定义方法
1.
定义array=(1 2 3)
输出echo ${array[]}
在这里插入图片描述
2.
分别定义
array=([1]=one [2]=two [3]=three)
选择输出
echo $(array[1])
全部输出
echo $(array[
])
在这里插入图片描述

3.单个定义array[0]=a

array[0]=a
array[1]=b
array[2]=c
echo ${array[1]}
echo ${array[*]}
在这里插入图片描述
4.动态定义

[root@localhost ~]# array=($(ls /mnt))
[root@localhost ~]# echo ${array[]}
在这里插入图片描述
5.打印数组元素
[root@localhost ~]# array=(one two three)
[root@localhost ~]# echo ${array[0]}
one
[root@localhost ~]# echo ${array[1]}
two
[root@localhost ~]# echo ${array[
]}
one two three
[root@localhost ~]# echo ${array[@]}
one two three
在这里插入图片描述
6.查看元素个数
echo ${#array[*]}
在这里插入图片描述

赋值
添加
array[4]=four
echo ${array[*]}

在这里插入图片描述
替换
array[0]=four
echo ${array[]}
在这里插入图片描述
删除
删除了数组第二个元素
unset array[1]
echo ${array[
]}
在这里插入图片描述
删除整个数组
unset array
在这里插入图片描述
内容截取

array=(0 1 2 3 4 5 6 )
echo ${array[@]:1:3}
在这里插入图片描述

替换
[root@localhost ~]# array=(1 2 1 1)
[root@localhost ~]#
[root@localhost ~]# echo ${array[@]/1/b}
b 2 b b
在这里插入图片描述
练习,循环输出arry=(1 2 3 4 5)的下标
利用for循环打印下面这句话中字母个数大于6的单词

#!/bin/bash
arr=(I am westos teacher welcome to westos training class)
 
for ((i=0;i<${#arr[*]};i++))
do
    if [ ${#arr[$i]} -lt 6 ];then
        echo "${arr[$i]}"
    fi
done

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值