Shell脚本之:数组】的更多相关文章

跟着RUNOOB网站的教程学习的笔记 Shell数组 数组中可以存放多个值,Bash Shell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似). 与大部分编程语言类似,数组元素的下标由0开始. Shell数组用括号来表示,元素用空格符号分隔开,语法格式如下: array_name=(value1 value2 value3 ... valuen) 也可以使用下标来定义数组: array_name[]=value0 array_name[]=value1 array_…
shell中数组的下标默认是从0开始的 1.将字符串放在数组中,获取其长度 #!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $length for ((i=0; i<$length; i++))do    echo ${array[$i]}done 执行结果: [oracle@99bill-as9 array]$ sh length.sh4ab--nd 打印字符串: #!/bin/bashstr=&quo…
数组  1.数组的定义及声明 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名:整个数组只有一个名字 索引:编号从0开始,属于数值索引:bash的数组支持稀疏格式(索引不连续) 格式:   数组名[索引]   ${ARRAY_NAME[INDEX]} 必需用花括号{ }   注意:索引可支持使用自定义的索引格式,而不仅仅是数值格式,即为关联数组,bash4.0版本之后开始支持 声明数组:   declare -a ARRAY_NAME:声明一个索引数…
数组: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAME:普通数组(声明可有可无) declare -A ARRAY_NAME: 关联数组(必须先声明才可用) 注意:两者不可相互转换 数组赋值 单个赋值:weekda…
平时写脚本还没有用到过数组,暂时先记录下用法. #!/bin/bash array1=( ) array1_length=${#array1[@]} echo "array1 length: ${array1_length}" for item in ${array1[@]} do echo "current item of array1: ${item}" done array2[]="test0" array2[]="test1&q…
变量:存储单个元素的内存空间. 数组:存储多个元素的连续的内存空间. 数组名:整个数组只有一个名字: 数组索引:编号从0开始: 数组名[索引]: 引用数组中的某个元素:${ ARRAY_NAME [ INDEX ] } 注意:引用变量值必须加上花括号{ }. 声明数组: declare -a ARRAY_NAME:声明索引数组. declare -A ARRAY_NAME:声明关联数组. 数组中元素的赋值方式: (1)一次只赋值一个元素: ARRAY_NAME[INDEX]=value (2)一…
1.数组定义 [root@bastion-IDC ~]# a=( ) [root@bastion-IDC ~]# echo $a 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值1)得到长度: [root@bastion-IDC ~]# echo ${#a[@]} [root@bastion-IDC ~]# echo ${#a[*]} 用${#数组名[@或*]} 可以得到数组长度 2)读取: [root@bastion-IDC ~]# echo ${a[]} [root@b…
数组的声明: 1)array[key]=value # array[0]=one,array[1]=two 复制代码 2)declare -a array # array被当作数组名 复制代码 3)array=( value1 value2 value3 ... ) 复制代码 4)array=( [1]=one [2]=two [3]=three ... ) 复制代码 5)array="one two three" # echo ${array[0|@|*]},把array变量当作数组…
#!/bin/sh source /etc/init.d/functions funOne() { array=(I am dfh kjlhfjksdf sdfj jdkfhaskl mjjoldfuis) for word in ${array[*]} do if [ ${#word} -le 6 ];then action ${word} /bin/true else action ${word} /bin/false fi done } funOne ${array[*]} 获取数组字符…
数组的基本操作及排序 1.数组定义方法: ( 6 7 9 4 3 2) 0 1 2 3 4 5 #下标号 方法一: 数组名=(value0 value1 value2 -) 方法二: 数组名=([0]=value [1]=value [2]=value -) 方法三: 列表名="value0 value1 value2 -" 数组名=($列表名) 方法四: 数组名[0]="value" 数组名[1]="value" 数组名[2]="va…
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节.下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~1.数组定义[root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8)[root@bastion-IDC ~]# echo $a1一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 1)得到长度:[root@bastion-IDC ~]# echo ${#a[…
[脚本6]拷贝目录 编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下: 一.脚本 #!/bin/bash cd /root list=(`ls`) for i in ${list[@]} do if [-d $i] then cp -r $i /tmp/ fi done 二.小结 1.Linux目录 [1]linux列出一个目录及其子目录下面的某种类型的文件 https://www.cnblogs.com/AloneSword/p/4488969.html…
shell的循环控制语句 - continue:提前结束某次循环,重新开始下一次 - break:提前结束某层循环 范例: #求100以内的奇数和 #!/bin/bash sum=0 for i in `seq 100`;do if [ $[i%2] -ne 0 ];then continue else let sum+=$i fi done echo $sum #实现100以内的奇数和 #!/bin/bash sum=0 for i in `seq 100`;do #``:命令替换 if […
前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境:  [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周…
功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量.export可新增,修改或删除环境变量,供后续执行的程序使用.export的效力仅及于该次登录操作. 参 数: -f 代表[变量名称]中为函数名称. -n 删除指定的变量.变量实际上并未删除,只是不会输出到后续指令的执行环境中. -p 列出所有的shell赋予程序的环境变量.   假设在shell脚本中有如下变量(为了演示问题,没有测试…
Linux中的变量有环境变量和用户自定义变量,关于环境变量,可以查看这篇博客:linux环境变量 本文主要针对的是用户在shell脚本中定义的变量,但是环境变量也可以在shell脚本中使用. 普通变量 注意事项: 变量名以英文字母或者下划线开头,但是不能以数字开头 变量名区分大小写 变量名与等号之间,等号与变量值之间不要有空格 只有在使用变量的值的时候,才在变量名之前加$,其他情况,比如删除.赋值.循环迭代都不用加$ 如果一行只有一条命令,则每一行不用以分号结尾,每一条命令以换行分隔 如果一行有…
centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和${ } 和$(( )) 与  sh -n  sh -x  sh -v 第三十五节课 Shebang/Sha-bang在计算机科学中, Shebang (也称为Hashbang)是一个由井号和叹号构成的字符串行(#!), 其出现在文本文件的第一行的前两个字符. 在文件中存在Shebang的情况下, 类…
前言 之前写过一篇关于shell脚本流程控制总结,这次继续写关于shell脚本的问题.本篇文章主要包含shell脚本中的函数以及数组的用法介绍.同时也涵盖了一些字符串处理以及shell脚本比较使用的小工具的介绍. 函数 函数function是由若干条shell命令组成的语句块,实现代码重用和模块话编程. 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分. 函数shell程序比较相似,区别在于: shell程序在shell中运行 而shell…
shell脚本-数组 数组 变量:存储单个元素的内存空间. 数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 数组索引:编号从0开始,属于数值索引.索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引. 数组赋值 数组元素的赋值: 一次只赋值一个元素: ARRAY_NAME[INDEX]=VALUE weekdays[0]="Sunday" weekdays[4]="Thursday" 一次赋值全部元素: ARRAY_NAME=("VAL1…
一.Shell 变量 1.1 定义变量 定义变量时,变量名不加美元符号($),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头. 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 除了显式地直接赋值,还可以用语句给变量赋值,如: #这行也可以使用…
SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持(关联数据使用时必须提前声明类型) bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_…
基于数组的shell脚本编写 2017年08月17日 22:56:36 momokuku123 阅读数:369 数据:变量,文件,数组 变量:存储单个元素的内存中的一块存储空间 数组:存储多个元素的内存中的连续的内存空间,数组有数组名,且索引编号从0开始. 数据结构中逻辑结构:集合.线性.树形.图形 数据结构中物理结构(也叫做存储结构):顺序.链式.索引.散列 bash shell 中的数组属于线性表,体现为所有元素的内存地址是连续的 声明一个数组 declare-a NAME:声明索引数组(索…
函数介绍: 函数function是由若干条shell命令组成的语句块,实现代码重用和模块话编程. 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分. 函数shell程序比较相似,区别在于: shell程序在shell中运行 而shell函数在当前shell中运行.因此在当前shell中,函数可以对shell中变量进行修改 函数语法 1.function  函数名 { 命令 } 2.函数名(){ 命令 } 例子: 运行结果 函数的返回值 re…
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循…
任何一种编程语言中循环是比不可少的,当然 shell 脚本也少不了循环语句,包括 for 语句. while 语句.文中主要以实际用例来说明 for while 都有哪些常见的使用方法和技巧. 一.for 循环使用 1. seq 命令方式 );do echo "$i" done 2. C语言语法方式 ; i<; i++));do echo "$i" done 3. 循环遍历文件列表 for file in $(ls /root/); do echo "…
亲自测试了一个大牛写的shell脚本,感兴趣可以看看,效果如下:…
shell是一种程序设计语言,是访问操作系统内核的服务. Linux的shell种类常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) Shell脚本执行的两种方法 ./shell.sh 根据shell脚本第一行指定的shell执行 /bin/sh test.sh 根据命令…
之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功能主要是用adb的input命令来实现,如果你adb的环境变量配置正确的话,在cmd中输入 adb shell input 就可以看见input的用法了. usage: input ... input text //输入文字(中文不支持) input keyevent //keyevent按键 in…
我们为你的面试准备选择了 70 个你可能遇到的 shell 脚面问题及解答.了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务.在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能. 1) 如何向脚本传递参数 ? ./script argument 例子 : 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash cat $1 2) 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参…
最近看了下Shell脚本.曾经遇到很多现成的工具包里边就多次用到了Shell脚本.总之这东西的作用无非就是将一系列的操作进行整合. ·整合后使得一套工作更加模块化规范化. ·批量处理要比手动操作快得多. Shell脚本虽说是脚本,但是它和一些常规的脚本相比差别还是蛮大的.主要原因是因为shell脚本需要整合命令. 来看一段: #!/bin/bash path=`pwd` echo $path unset path cd "../../" path=`pwd` echo $path 输出…