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