linux中shell的数组简介

数组
1.数组定义方法:

方法1:

array=(1 2 3)
echo ${array[*]}

方法2:

array=([1]=one [2]=two [3]=three)
echo ${array[*]}

方法3:

array[0]=a
array[1]=b
array[2]=c
echo ${array[1]}
echo ${array[*]}


此处显示全部的时候显示出了three,是之前定义的数组第四个元素

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

array=($(ls /array))
echo ${array[*]}

2.数组的打印和输出
1)打印数组元素

array=(one two three)
echo ${array[0]}

echo ${array[1]}


 

echo ${array[*]}

echo ${array[@]}                      ##@与*的作用是一样的

2)打印元素个数

echo ${#array[*]}
echo ${#array[@]}                             ##括号内#为统计数组内元素个数


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

array[3]=four
echo ${array[*]}

array[0]=westos
echo ${array[*]}                              ##如下图数组中第一个元素被代替了,成了westos


4)数组的删除

unset array[1]
echo ${array[*]}                ##删除了数组第二个元素

unset array                    ##删除整个数组

5)数组内容截取和替换

array=(0 1 2 3 4 5 6 7 8 9)
echo ${array[@]:1:3}

array=($(echo {a..z}))
echo ${array[@]}

echo ${array[@]:1:3}


替换

array=(1 2 3 1 1)
echo ${array[@]/1/b}                    ##把1替换成b


3.作业:利用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

ok~

猜你喜欢

转载自blog.csdn.net/weixin_40543283/article/details/85720583
今日推荐