shell数组

shell学习~~shell数组

≯℡__Kan透↙ 提交于 2020-02-19 04:48:16
shell支持一维数组,不支持多维数组,没有限定数组的大小,数组元素的下标从0开始。 定义数组: 数组名=(值1 值2 值3 ...),例如:arry=(0 2 3 4 3) 也可以写成arry[0]=0 arry[1]=2 arry[2]=3 arry[3]=4 arry[4]=3 读取数组: arry=(1 4 7 3 9 0) echo ${arry[2]} 输出结果: 使用@可以读取数组里所有的元素 arry=(1 4 7 3 9 0) echo ${arry[@]} 输出结果: 读取数组的长度: arry=(1 4 7 3 9 0) echo ${#arry[@]} echo ${#arry[*]} shell的注释: 以#开头 但是,对于多行需要注释的内容,每行都用#显然比较麻烦,所以可以使用以下的方式进行注释 :<< EOF 注释内容... 注释内容... 注释内容... EOF 当然,EOF还可以换成其他符号,例如 :<< ' 注释内容... 注释内容... 注释内容... ' :<<! 注释内容... 注释内容... 注释内容... ! 来源: https://www.cnblogs.com/yangzhouqiang/p/9693072.html

Linux shell 数组

守給你的承諾、 提交于 2020-02-17 11:22:16
引言   在Linux平台上工作,我们经常需要使用shell来编写一些有用、有意义的脚本程序。有时,会经常使用shell数组。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组。 数组的定义   何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念)。那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型;虽然shell本身是弱类型的,但也可以这么区分。    #数值类型的数组:一对括号表示数组,数组中元素之间使用“空格”来隔开。 #举个列子: arr_number=(1 2 3 4 5); #字符串类型数组:同样,使用一对括号表示数组,其中数组中的元素使用双引号或者单引号包含,同样使用“空格”来隔开。 arr_string=("abc" "edf" "sss"); 或者 arr_string=('abc' 'edf' 'sss'); 数组的操作    # 我们使用数值类型数组arr_number=(1 2 3 4 5)做为源数组进行相关的讲解:获取数组长度,读取某个下标的值,对某个下标赋值,删除、分配和替换以及遍历。提一个知识点,我们在shell里面想获取某个变量的值,使用$符开头,如:$a或者${a}即可。 # 获取数组长度

shell总结

て烟熏妆下的殇ゞ 提交于 2020-02-16 21:21:41
     shell总结    一.学习心得            在学习本阶段shell这一课程时,我对shell有了一个大概的了解。         shell是一门解释性语言,shell语言与高级语言处理的对象不同;它与系统         有着密切的关系,易编写、调试、灵活性较强,但速度低。           既然是心得,那我在这里想说一些心里话。这是我来景航的第n个月         在这n个月中一路磕磕绊绊还是走了过来,不过让我最伤的是我竟然仅仅         在Java web第二阶段就摔了两次在分班考试前我揪心的很,俗话说一个         人不能在同一个地方摔倒三次这也是我心中所担心的。哈哈废话不多说我         还记得我在之前也打听过大数据阶段超级难学,当我真正开始接触Linux的         时候我感觉没什么,但是自从开始学习shell的时候发现并不是那么容易。         我呀不爱说话学习方面一般不敢和别人主动去沟通,哪怕是不会也不愿意         去问老师同学有时候想问却不敢因为我怕别人笑话我。说实话我感觉整体         学习效果并不是太好!能力有待提升。    二.介绍shell           在计算机科学中,shell俗称壳(用来区别于核),是指"为使用者提         供操作界面"的软件(命令解析器)

shell脚本 介绍以及总结

旧时模样 提交于 2020-02-16 20:06:47
shell的历史 shell概况 人想要和操作系统进行交互,传送指令给操作系统,就需要使用到shell。宏义的shell是人与机器交互的页面,它分为两种,一种是有界面的,比如GUI,另外一种是没有界面的,完全是指令操作的(CLI)。我们一般说的shell指的就是命令行界面。 Bourne shell 最早Ken Thompson设计Unix的时候,使用的是命令解释器,命令解释器接受用户的命令,然后解释他们并执行。 后来出现了Bourne shell(通称为sh),顾名思义,就是一个叫Bourne shell创建的。对,它就是现在我们机器上面的/bin/sh这个可执行文件。这个老哥创建的sh一直沿用至今,现在的UNIX操作系统都配置有sh,而且各种新的shell都会向后兼容sh的语法。 Bourne shell 带来了: 脚本可以写在文件里被调用,比如sh a.sh可以执行a.sh里面的shell命令 可以交互或者非交互的方式调用 可以同步执行也可以异步执行 支持输入输出的pipeline,就是管道方式 支持输入输出的重定向,就是现在使用的> 和 >> 提供一系列内置命令 提供流程控制基本的函数和结构 弱类型变量,就是可以直接 a=1,不需要指定a为int 提供本地和全局的变量作用域 脚本执行前不需要编译 去掉goto功能 使用``进行命令执行替换 增加了for~do~done的循环

shell中的数组

隐身守侯 提交于 2020-02-15 02:15:07
1.shell数组的基本概念 同其他的变成语言一样,shell也支持数组,数组时若干数据的集合,其中每一份的数据都称为元素。 shell数组理论上没有限制数组的大小, 数组元素的下标是从0开始 获取数组的元素要使用下标[ ], 下标可以是一个整数,也可以是一个结果为整数的表达式 常用的bash shell只支持一维数组,不支持多维数组 2.shell数组的定义 在shell中,用括号()来表示数组,数组元素之间用空格来分隔 用小括号将变量值括起来赋值给数组变量 array=(1 2 3) 用小括号将变量值括起来,同时通过键值对的方式赋值给数组 a=([1]=one [2]=two [3]=three) 用赋值的方式来定义数组 a[1]=four 动态的定义数组变量,并使用命令的输出结果作为数组的内容 mkdir /array -p touch /array/{1..3}.txt c=($(ls /arry)) 3.shell数组的输出 (1) a=(1 2 3) 输出:echo $a 输出结果 1 (2)输出数组所有元素 输出:echo ${a[*]} 输出:echo ${a[@]} 输出结果:1 2 3 (3)输出数组的某个元素 echo ${a[0]} 输出数组a的第一个元素 echo ${a[1]} 输出数组a的第二个元素 (4)指定输出数组的特定元素 echo ${a[@]

Linux Shell for循环写法总结

青春壹個敷衍的年華 提交于 2020-02-14 08:21:17
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done 2、在shell中常用的是 for i in $(seq 10) 3、for i in `ls` 4、for i in ${arr[@]} 5、for i in $* ; do 6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do 7、for i in f1 f2 f3 ;do 8、for i in *.txt 9、for i in $(ls *.txt) for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组 ============ -_- ==============for num in $(seq 1 100) 10、LIST="rootfs usr data data2" for d in $LIST; do 用for in语句自动对字符串按空格遍历的特性,对多个目录遍历 11、for i in {1..10} 12、for i in stringchar {1..10} 13、awk 'BEGIN{for

shell中遍历数组的几种方式

谁说我不能喝 提交于 2020-02-12 15:21:13
#!/bin/bash arr=(12 36 '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} do echo $item done i=0 # until遍历 echo until begin until (( i++ > $length )) do echo ${arr[(( i-1 ))]} done echo end # for遍历 echo for begin for (( k=0; k <= $length; k++ )) do echo ${arr[$k]} done i=0 echo while begin #while遍历 while (( i++ <= $length )) do echo ${arr[(( i-1 )) ]} done 来源: https://www.cnblogs.com/hetutu-5238/p/12299115.html

shell 数组

谁说胖子不能爱 提交于 2020-02-12 12:10:23
一、数组简介 数组 是 shell 中的一种基础数据类型,用来存储大量数据。但是实际使用环境中,其实用到的并不像其他变成语言中那么多,主要是因为shell主要是为了完成一些简单的任务,并不需要太复杂的代码。但是,作为一种编程语言,了解其基础数据类型是很有必要的。 二、数组定义的两种方式 2.1、普通数组 直接在数组中添加元素,不需要申明。只能通过数字进行索引取值。 1)定义 [root@localhost ~]# a=(1 2 3 4 5 6 7 ) 2) 取值 [root@localhost ~]# echo ${a[3]} #取出索引为3对应位置的值 4 [root@localhost ~]# echo ${a[*]} #取出所有元素 1 2 3 4 5 6 7 [root@localhost ~]# echo ${a[@]} #取出所有元素 1 2 3 4 5 6 7 [root@localhost ~]# echo ${!a[@]} #取出所有索引 0 1 2 3 4 5 6 3)建立数组的另一种方式,通过赋值。 [root@localhost ~]# b[0]=10 [root@localhost ~]# b[1]=4 [root@localhost ~]# b[3]=6 [root@localhost ~]# echo ${b[@]} 10 4 6 2.2、关联数组

Linux-开发与管理 P1 shell编程

三世轮回 提交于 2020-02-05 13:32:20
文章目录 Linux-开发与管理 P1 shell编程 shell基础 shell简介 shell历史 命令格式 linux命令 文件文档相关 文件管理 文档编辑 文件传输 磁盘相关 网络通讯 系统设备相关 shell脚本 shell脚本基础 基础语法 变量 shell程序 说明性语句 功能性语句 结构性语句 shell函数 脚本调用 更多内容 Linux-开发与管理 P1 shell编程 shell基础 shell简介 什么是shell? Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁 Shell 既是一种 命令语言 ,又是一种 程序设计语言 Shell 是指一种 应用程序 ,这个应用程序提供了一个 界面 ,用户通过这个界面访问 操作系统内核的服务 shell 翻译成中文就是 贝壳 的意思,它就是Linux内核的一个 外层保护工具 ,并负责完成用户与内核之间的交互 shell能用来干什么? shell 是一个 命令行解释器 ,将用户命令解析为操作系统所能理解的指令,从而实现用户与操作系统的交互。同时,shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。 shell历史 这是shell发展的时间图,这里主要来了解几种比较常用和熟悉的 Bourne Shell 简称 sh 由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名

shell脚本基础

帅比萌擦擦* 提交于 2020-01-31 09:04:55
shell简介:shell是一种脚本语言,可以使用逻辑判断、循环等语法,可以自定义函数,是系统命令的集合 文章目录 shell脚本结构和执行方法 date命令的用法 shell中变量的用法 shell逻辑判断语法 if判断文件或目录的属性 if判断的一些特殊用法 shell中case判断用法 for、while循环 break、continue、exit shell中的函数 shell中的数组 shell脚本结构和执行方法 1.shell脚本开头需要加#!/bin/bash 2.以#开头的行作为注释 3.脚本的名字以.sh结尾,用于区分这是一个shell脚本 4.执行方法有两种: 1)bash test.sh 2)./test.sh #第二种执行方式需要有执行权限(chmod +x test.sh) 5.查看脚本执行过程:bash -x test.sh 6.查看脚本是否语法错误:bash -n test.sh #bash可以使用sh命令代替(在/usr/bin目录下,sh是bash的软连接文件) date命令的用法 年月日: [root@linux ~]# date 2019年 11月 19日 星期二 16:20:04 CST [root@linux ~]# date +%Y-%m-%d 2019-11-19 [root@linux ~]# date +%Y 2019 [root