shell数组

阅读数:92 评论数:0

跳转到新版页面

分类

Linux

正文

一、概述

一般情况下,bash支持一维索引数组和关联数组。

二、定义数组

1、索引数组

#方法一
array=()		#定义一个空数组
array1[0]=a
array1[1]=b
array1[2]=c

#方法二 (元素之间以空格隔开)
array2=(a b c)

2、关联数组

关联数组可以使用非数字作为下标。

declare -A user_info
user_info[name]=devops
user_info[age]=18
或者
user_info=([name]=devops [age]=18)

3、多维数组

数组名[索引1][索引2]=值
或者
数组名[索引1,索引2]=值

三、数组操作

1、直接获取元素的值及数组的信息

(1)获取单个元素的值

echo ${array1[0]}	#获取第一个元素的值
echo ${array1[-1]}	#获取最后一个元素的值

(2)获取所有元素的值

echo ${array1[*]}	或者用echo ${array1[@]}

(3)数组长度

echo ${#array1[*]}

(4)数组的下标

echo ${!array1[@]}
echo ${!user_info[@]}

(5)删除数组元素和数组

unset array2[2]			#删除索引数组的第三个元素
unset user_info[age]	#删除关联数组中索引为age的元素
unset array2			#删除数组

2、遍历数组

# 直接取值
for i in "${array1[@]}"
do
	echo $i
done

# 通过下标取值
for i in ${!array1[@]}
do
	echo ${array1[i]}
done

# C语言风格
for((i=0;i<${#array1[@]};i++))
do
	echo ${array1[i]}
done




相关推荐

在 Bash shell 中,type 是一个内置命令,用于显示指定命令的类型。它可以告诉你一个命令是内置的(built-in),还是一个外部的可执行程序,或者是别名(alias)、函数、关键字等。

一、echo   变量的显示必须要加上字符$ echo $variable echo ${variable} 二、变量的设置规则 1、变量与变量内容以一个等号来连接 2、等号两边不能直接接空格符 3、

一、env命令 在 Linux 中,env 命令用于显示当前用户的环境变量,或者在修改了环境的情况下执行另一个程序。 1、显示所有环境变量 要打印出当前的所有环境变量及其值,你只需在终端中输入 env

一、执行shell脚本 1、直接执行,需要具有rx的权限 (1)绝对路径执行 (2)相对路径执行 (3)放在变量PATH中执行 2、通过解释器执行,需要r权限 你也可以直接调用一个 Shell 解释器

一、概述 在 shell 脚本中,有几个特殊的预定义变量(有时称为位置参数和特殊参数),它们用来访问脚本的参数和其他相关信息。 二、变量 \$0 这是当前脚本的名称或者是当前 shell 的名称。如

一、条件判断 1、if if [条件判断式];then ... fi if [条件判断式];then ... else ... fi if [条件判断式];then ... elif [条件

#! /bin/bash # 功能: 根据用户输入的PID,过滤出该PID所有的信息 read -p "请输入要查询的PID: "

#! /bin/bash # 功能: 根据输入的程序的名字过滤出所对应的PID,并显示出详细信息,如果有几个PID,则全部显示

一、简介 if [ command ];then&nbsp; &nbsp;符合该条件执行的语句elif [ command ];then&n

出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一