Linux shell数组与关联数组的用法实例
1. 关联数组
- 使用
declare -A
(declare 的用法请使用 help 进行查看,help declare
) 进行声明关联数组变量;
$ declare -A fruits_price $ fruits_price=([apple]='$100' [orange]='$150')
- 列出关联数组的索引(也就是 key):
$ echo ${!fruits_price[*]} $ echo ${!fruits_price[@]}
2. 序列数组
seq 方法创建
- 基本用法:
$ a_num_seq = ($seq 5) $ echo $a_num_seq 1 2 3 4 5
- a_num_seq 得到是字符串,不同之处以空格分隔开。在linux 里面,可以把它看作是 list. 可以通过for…in 循环读取。
$ for i in $a_num_list; do echo $i; done; 1 2 3 4 5
- 生成 array,只需在
$(seq 5)
外再套一层()
$ a_num_seq = ($(seq 5)) $ echo $a_num_seq 1 $ echo ${#a_num_seq[@]} 5 # 得到其长度信息
- 使用 {begin…end}
注意 begin 和 and 之间是两个小数点,而不是三个;
$ echo {1..10} 1 2 3 4 5 6 7 8 9 10 $ for i in {1..5}; do echo $i; done; 1 2 3 4 5
- 性能比较
$ time echo {1..100000}
real 0m18.758s
user 0m0.068s
sys 0m0.012s
$ time echo $(seq 100000)
real 0m20.064s
user 0m0.068s
sys 0m0.012s
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
linux的cut命令用法总结
要用到,来mark一下: ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt abc abcd ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1 a a ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 2 b b ubuntu@VM-0-15-ubuntu:~/taoge$ cat b.txt | cut -c 1-2 ab ab ubuntu@VM-0-15-
-
linux shell之pushd、popd和dirs的使用讲解
1 问题 我们有时候需要保存多个路径,上下键切换不方便,用cd-只能到上个目录,我们可以用dirs和pushd和popd 2 dirs.pushd.popd dirs: 这个命令显示栈里面所有的路径,一定会包含当前路径,常用参数如下 dirs -v 显示栈里面的所有路径和下标,通过下标,我们可以用pushd +下标到这个目录,然后popd+下标把这个路径在栈里面弹出来, dirs -c 清除栈里所有路径,但是当前路径不会删除 pushd:我们可以添加目录到栈(dirs)里面,比如添加当前目录pu
-
Linux Shell在目录下使用for循环结合if查找文件的巧用
1.for循环对目录做遍历,if判断文件是否为要查找的文件. 示例1: #!/bin/bash if [ $# -lt 1 ];then echo "Usage:$0 + filepath" exit fi #判断用户是否输入了参数 match=$1 #将要查的文件赋值给变量match found=0 #定义一个初始变量作为发生条件,当文件找到时对此变量重新赋值 for file in /etc/* #对目录进行遍历 do if [ $file == $match ];then #判断
-
Linux shell脚本的建立与执行
在进行linux测试时编写脚本是必不可少的.最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本.可以把太多的命令写成一个脚本,这样每次执行一遍 shell文件,就可以省去了敲击键盘的时间.于是在网上搜了一些有关Linux下脚本编程的内容. Shell不仅仅是命令的收集,而且是一门非常棒的编程语言.您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性.可维护性和便携性比效率更重要的任务. 用户可以使用任何文本编辑器编辑shel
-
Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法
1.问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1).获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 adb shell dumpsys activity top 2).我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志, pidcat.py packageName 3).思考,为什么每次都需要这样重复的操作呢?一说到重复,我们应该立马想到是否可以用脚本解决重复
-
linux shell中if的各种判断
shell编程中使用到得if语句内判断参数 –b当file存在并且是块文件时返回真 -c当file存在并且是字符文件时返回真 -d当pathname存在并且是一个目录时返回真 -e当pathname指定的文件或目录存在时返回真 -f当file存在并且是正规文件时返回真 -g当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 -k当由pathname指定的文件或目录存在并且设置了"粘滞"位时返回真
-
linux shell之控制台打印各种颜色字体和背景的实现方法
1 问题 控制台打印各种颜色字体和背景 字体颜色 #30:黑 #31:红 #32:绿 #33:黄 #34:蓝色 #35:紫色 #36:深绿 #37:白色 背景颜色 #40:黑 #41:深红 #42:绿 #43:黄色 #44:蓝色 #45:紫色 #46:深绿 #47:白色 echo -e "\e[43;35m chenyu\e[0m hello word" 比如上面的命令,43是背景颜色,35是字体颜色, \e[0m 是还原本色 2 代码实现 这里写的是color.sh文件如下 #!/b
-
Linux shell命令统计某列去重后的值
需求:根据MAC获取,MAC对应的硬件版本和软件版本.在根据硬件版本统计MAC的数量 $ head test_1.txt 00:07:67,EC2108,HWV010537P0000 00:07:63,Z83,ZNV861010P1225 00:07:67,EC6108V9U_ca_sccdx,HWV218012P0000 00:07:63,SBox8900hisi3716V3,ZGV865012P0001 00:07:67,EC6108V9U_ca_sccdx,HWV218012P0000 0
-
Linux shell环境下Zabbix Api的使用
在linux shell环境下直接调用就可以,根据官网所述:在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌.这可以使用该 user.login 方法完成. [root@localhost ~]# curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0","method":"user.login","params
-
linux shell之通过标识测试文件系统属性的方法示例
1 通过标识测试文件系统属性 [ -f $file_var ] :如果给定的变量包含正常的文件路径或文件名,则返回真. [ -x $var ] :如果给定的变量包含的文件可执行,则返回真. [ -d $var ] :如果给定的变量包含的是目录,则返回真. [ -e $var ] :如果给定的变量包含的文件存在,则返回真. [ -c $var ] :如果给定的变量包含的是一个字符设备文件的路径,则返回真. [ -b $var ] :如果给定的变量包含的是一个块设备文件的路径,则返回真. [ -w
随机推荐
- AngularJS入门教程(零):引导程序
- VBS教程:VBscript语句-Option Explicit 语句
- 一段眼睛跟着鼠标转动的跟踪眼代码
- IOS开发相册图片多选和删除的功能
- asp.net gridview的Rowcommand命令中获取行索引的方法总结
- JS焦点图,JS 多个页面放多个焦点图的实例
- ON_COMMAND_RANGE多个按钮响应一个函数的解决方法
- 详解如何提高 webpack 构建 Vue 项目的速度
- javascript HTML+CSS实现经典橙色导航菜单
- Android实现音量调节的方法
- “禽兽”病毒(杀软终结者)的分析和手动解决方法图文第1/2页
- js实现表单检测及表单提示的方法
- 使用JS取得焦点(focus)元素代码
- 利用asp或jsp,flash怎样把数据库中的一张表中的所有记录读取并显示出来
- IIS6中配置PHP的方法 200911
- WIN下Nginx缓存加速配置方法
- thinkphp在低版本Nginx 下支持PATHINFO的方法分享
- Android编程获取图片数据的方法详解
- 详细分析jsonp的原理和实现方式
- Java二叉树路径和代码示例