shell的数组基础知识

79 篇文章 0 订阅

1.数组的定义方法

方法一:
[root@localhost ~]# array=(a b ca)
[root@localhost ~]# echo ${array[*]}
a b ca

方法二:

[root@localhost ~]# array=([0]=zero [1]=one [2]=two [3]=three)
[root@localhost ~]# echo ${array[*]}
zero one two three

方法三:

[root@localhost ~]# array[0]=a
[root@localhost ~]# array[1]=a
[root@localhost ~]# array[2]=a
[root@localhost ~]# echo ${array[*]}
a a a three

方法四:动态定义数组变量,并使用命令的输出结果作为数组的内容

[root@localhost mnt]# ls
database  student
[root@localhost mnt]# cd
[root@localhost ~]# array=($(ls /mnt))
[root@localhost ~]# echo ${array[*]}
database student

2.数组的打印和输出

打印数组元素
[root@localhost ~]# array=(0 1 2)
[root@localhost ~]# echo ${array[0]}
0
[root@localhost ~]# echo ${array[1]}
1
[root@localhost ~]# echo ${array[*]}
0 1 2
[root@localhost ~]# echo ${array[@]}
0 1 2

打印元素个数

[root@localhost ~]# echo ${#array[@]}
3
[root@localhost ~]# echo ${#array[*]}
3

数组的赋值
如果下标不存在,则自动添加一个新的元素,如果存在,则覆盖原来的值

[root@localhost ~]# echo ${array[@]}
0 1 2
[root@localhost ~]# array[3]=aa
[root@localhost ~]# echo ${array[@]}
0 1 2 aa
[root@localhost ~]# array[0]=aa
[root@localhost ~]# echo ${array[@]}
aa 1 2 aa

数组的删除

[root@localhost ~]# echo ${array[@]}
aa 1 2 aa
[root@localhost ~]# unset array[0]
[root@localhost ~]# echo ${array[@]}
1 2 aa

在这里插入图片描述

数组内容截取和替换

[root@localhost ~]# array=(0 1 2 3 4)
[root@localhost ~]# echo ${array[@]:1:3}
1 2 3
[root@localhost ~]# echo ${array[@]:0:3}
0 1 2
[root@localhost ~]# array=($(echo {a..z}))
[root@localhost ~]# echo ${array[@]}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@localhost ~]# echo ${array[@]:6:3}
g h i
[root@localhost ~]# array=(a 2 4 a 6)
[root@localhost ~]# echo ${array[@]/a/0}
0 2 4 0 6

练习:利用for循环打印下面这句话中字母个数小于于6的单词
I am westos teacher welcome to westos training class

	#!/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

在这里插入图片描述
练习:循环输出数组元素

#!/bin/bash
arr=(a b c d e)
for ((i=0;i<${#arr[*]};i++))
do
        echo ${arr[i]}
done

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值