数组的定义和使用

一.数组的定义(数组从0开始,表示第一个元素)

1)

[root@foundation77 mnt]# array=(1 2 4)
[root@foundation77 mnt]# echo ${array[*]}
1 2 4
[root@foundation77 mnt]# 

2)

[root@foundation77 mnt]# array=([1]=one [2]=two [3]=three)
[root@foundation77 mnt]# echo ${array[2]}
two

3)

[root@foundation77 mnt]# array[0]=1
[root@foundation77 mnt]# array[1]=q
[root@foundation77 mnt]# array[2]=w
[root@foundation77 mnt]# echo ${array[*]}
1 q w

4)动态定义数组变量,使用命令作为数组内容

[root@foundation77 mnt]# array=($(ls ))
[root@foundation77 mnt]# echo ${array[*]}
cos file fun.sh passwd qoq.sh rhel-server-7.2-x86_64-dvd.iso sos.sh test.sh
[root@foundation77 mnt]# echo ${array[2]}
fun.sh

2.数组的输出

打印某个元素 

 echo ${array[2]}    输出第二个元素

打印所有元素个数

[root@foundation77 mnt]# echo ${#array[*]}
8
[root@foundation77 mnt]# echo ${#array[@]}
8

打印所有元素不加 #

3.数组的赋值

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

[root@foundation77 mnt]# array=([1]=one [2]=two [3]=three)
[root@foundation77 mnt]# echo ${array[@]}
one two three
[root@foundation77 mnt]#  array[4]=linux
[root@foundation77 mnt]# echo ${array[@]}
one two three linux

4.数组的删除

删除某个元素

[root@foundation77 mnt]# echo ${array[@]}
one two three linux
[root@foundation77 mnt]# unset array[1]
[root@foundation77 mnt]# echo ${array[@]}
two three linux

删除所有元素

[root@foundation77 mnt]# echo ${array[@]}
two three linux
[root@foundation77 mnt]# unset array
[root@foundation77 mnt]# echo ${array[@]}

[root@foundation77 mnt]# 

5.数组的截取

[root@foundation77 mnt]#  array={1..10}
[root@foundation77 mnt]# echo ${array[@]}
{1..10} 2 3 4 5 6 7 8 9
[root@foundation77 mnt]# echo ${array[@]:1:5}
2 3 4 5 6

6.数组的替换

[root@foundation77 mnt]#  array={1..10}
[root@foundation77 mnt]# echo ${array[@]/8/g}
{1..10} 2 3 4 5 6 7 g 9

7.编辑脚本找出单词字母个数小于6的单词

#!/bin/bash

array=(I am westos teacher welcome to westos training class)

for ((i=0;i<${#array[*]};i++))
do
    if [ ${#array[$i]} -lt 6 ];then                   #$i表示第几个元素,#表示元素字母数
        echo "${array[$i]}"
    fi
done
~      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值