日期: 2022-09-21 06:01:40 浏览数:67

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
湖南淘宝装修/湖南京东店铺设计/湖南拼多多网店装修公司/湖南企业网店开通申请-网店装修设计

Shell 数组
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
与大部分编程语言类似,数组元素的下标由 0 开始。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)
实例
创建一个简单的数组 my_array:
实例
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
my_array=(A B "C" D)
我们也可以使用数字下标来定义数组:
实例
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
读取数组
读取数组元素值的一般格式是:
${array_name[index]}
以下实例通过数字索引读取数组元素:
实例
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
my_array=(A B "C" D)
echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"
执行脚本,输出结果如下所示:
$ chmod +x test.sh
$ ./test.sh
第一个元素为: A
第二个元素为: B
第三个元素为: C
第四个元素为: D
关联数组
Bash 支持关联数组,可以使用任意的字符串、或者整数作为下标来访问数组元素。
关联数组使用 declare 命令来声明,语法格式如下:
declare -A array_name
-A 选项就是用于声明一个关联数组。
关联数组的键是唯一的。
以下实例我们创建一个关联数组 site,并创建不同的键值:
实例
declare -A site=(["google"]="www.google.com", ["runoob"]="www.runoob.com", ["taobao"]="www.taobao.com")
我们也可以先声明一个关联数组,然后再设置键和值:
实例
declare -A site
site["google"]="www.google.com"
site["runoob"]="www.runoob.com"
site["taobao"]="www.taobao.com"
也可以在定义的同时赋值:
访问关联数组元素可以使用指定的键,格式如下:
array_name["index"]
以下实例我们通过键来访问关联数组的元素:
实例
declare -A site
site["google"]="www.google.com"
site["runoob"]="www.runoob.com"
site["taobao"]="www.taobao.com"
echo ${site["runoob"]}
执行脚本,输出结果如下所示:
www.runoob.com
湖南淘宝装修/湖南京东店铺设计/湖南拼多多网店装修公司/湖南企业网店开通申请-网店装修设计
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
在为shell脚本传递的参数中如果包含空格,应该使用单引号或者双引号将该参数括起来,以便于脚本将这个参数作为整体来接收。
在有参数时,可以使用对参数进行校验的方式处理以减少错误发生:
注意:中括号 [] 与其中间的代码应该有空格隔开
墓志铭
muz***ing_zbq@163.com
friday
vfm***foxmail.com
参考地址
Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:
friday
vfm***foxmail.com
参考地址
算术比较, 比如一个变量是否为0,
[ $var -eq 0 ]。文件属性测试,比如一个文件是否存在,
[ -e $var ], 是否是目录,[ -d $var ]。字符串比较, 比如两个字符串是否相同,
[[ $var1 = $var2 ]]。lalala
a1.***t@mlsy.eu
含有空格的参数,只需要在参数传递的时候加双引号就可以。
#!/bin/bash echo "---------------with double quote ---------------"echo "$1"echo "$2"echo "$3"my_procedure() { echo "$1" echo "$2" echo "$3"}my_procedure "$@"echo "---------------withtout double quote ---------------"echo $1 echo $2 echo $3 my_procedure() { echo $1 echo $2 echo $3}my_procedure "$@"echo "---------------withtout double quote by passing arguments---------------"my_procedure $@输入:
输出结果为:
前两部分无论在函数内外,加不加引号都一样,但是在函数传递的时候要保证加引号。