shell数组

shell编程2:数组的运用

╄→尐↘猪︶ㄣ 提交于 2019-12-01 18:42:12
Shell 数组 定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为: name=(name1 name2 name3) 复制代码 还可以单独定义数组的各个分量: ary[0]=name1 ary[1]=name2 ary[3]=name3 复制代码 ps: 可以不使用连续的下标,而且下标的范围没有限制 读取数组 读取数组元素值的一般格式是: ${数组名[下标]} 复制代码 例如: echo ${name[0]} 复制代码 使用@符号可以获取数组中的所有元素,例如: echo ${name[@]} 复制代码 获取数组的长度 获取数组长度的方法与获取字符串长度的方法相同,例如: # 取得数组元素的个数 length=${#name[@]} echo $length # 或者 length=${#name[*]} echo $length # 取得数组单个元素的长度 lengthn=${#name[n]} echo $length 原文:https://juejin.im/post/5a6378055188253dc332130a 来源: https://www.cnblogs.com/soymilk2019/p/11712705.html

shell 第六章 数组应用

只谈情不闲聊 提交于 2019-12-01 18:27:44
第六章 Shell数组应用 1. 数组基本概述 2. 数组基本使用 3. 数组遍历与循环 1. 数组基本概述 01. 什么是数组? 数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值。 02. 数组的分类 Shell数组分为普通数组和关联数组。 普通数组:只能使用整数作为数组索引。 关联数组:可以使用字符串作为数组索引。 2. 数组基本使用 01. 普通数组仅能使用整数来作为索引 #普通数组赋值方式 #1.方式一:针对每个索引进行赋值 [root@rlb ~]# array1[0]=pear [root@rlb ~]# array1[1]=apple [root@rlb ~]# array1[2]=orange [root@rlb ~]# array1[3]=peach #2.方式二:一次赋多个值,数组名=(多个变量值) [root@rlb ~]# array2=(tom jack alice) [root@rlb ~]# array3=(tom jack alice "bash shell") [root@rlb ~]# array4=(1 2 3 "linux shell" [20]=puppet) #3.方式三:将该文件中的每一个列作为一个元数赋值给数组array5,默认以空格为分割符 [root@rlb ~]# array5=(`cat /etc

shell 第七章 正则的应用

删除回忆录丶 提交于 2019-12-01 18:27:36
第七章 Shell正则应用 1. 正则表达式概述 2. 正则表达式规则 3. 正则表达式之GREP文本过滤 4. 正则表达式之SED文本处理 5. 正则表达式之AWK文本处理 1. 正则表达式概述 01. 什么是正则表达式 正则表达式`regular expression`, RE是一种字符模式,用于在查找过程中匹配指定的字符。 02. 为什么要使用正则表达式? 在工作中,我们时刻面对着大量的日志,程序,以及命令的输出。迫切的需要过滤我们需要的一部分内容,甚至是一个字符串。比如: 现在有一个上千行的文件,我们仅需要其中包含"root"的行,怎么办? 此时就需要使用到正则表达式的规则来筛选想要的内容。 03. 正则表达式注意事项 1.正则表达式应用非常广泛,存在于各种语言中,例如:php,python,java等。 2.正则表达式和通配符特殊字符是有本质区别的 3.要想学好grep、sed、awk首先就要掌握正则表达式。 4.注意正则神坑,中文符号。 2. 正则表达式规则 正则表达式 描述 \ 转义符,将特殊字符进行转义,忽略其特殊意义 ^ 匹配行首,^是匹配字符串的开始 $ 匹配行尾,$是匹配字符串的结尾 ^$ 表示空行 .(点) 匹配换行符之外的任意单个字符 [ ] 匹配包含在[字符]之中的任意一个字符 [^] 匹配[^]之外的任意一个字符 [a-z] 匹配[

Shell脚本语言学习总结

拈花ヽ惹草 提交于 2019-12-01 08:58:46
Shell 是一种脚本程序,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 编写第一个Shell 程序    在linux命令行执行 [root@iz2zeexr9tk4ckr7dp9vwsz test]# echo "我的第n个shell 程序" 我的第n个shell 程序   打开文本编辑器, 新疆一个名称为xxx.sh的文件,例如:test.sh #!/bin/bash echo "Hello Word !"#编辑完成后使用命令,使test.sh脚本具有执行权限:chmod +x ./test.sh #执行程序./test.sh #控制台输出Hello Word ! #! :是一种约束标记, 它告诉系统使用什么命令执行脚本, 即使用那种shell。 echo:命令用于在控制太输出文本。 chmod +x ./xxx.sh : 使xxx.sh 脚本具有执行权限 Shell 变量   变量名命名规则: 命名只能使用英文字母、下划线、数字,首个字符不能为数字。 中间不能有空格,可以使用(_)代替 不能使用标点符号 不能使用bash里面的关键字, 可以使用help查看关键字,保留字   使用变量    使用一个定义过的变量,只要在前面加上美元符号即可,加花括号是为了帮助解释器识别变量的边界 your_name="你的名称,第一个变量值" echo ${your

[转帖]linux bash环境变量简单总结

僤鯓⒐⒋嵵緔 提交于 2019-12-01 05:21:55
linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 /etc/profile.d 的目录下面感觉这样最粗暴有效 虽然也可以放 .bash_rc 或者是 .bash_profile 里面 但是 毕竟是单用户的而且不喜欢改 profile 文件 太复杂了 改坏了很麻烦. 一.环境变量简介 Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 常见的环境变量: PATH: 决定了shell将到哪些目录中寻找命令或程序 ROOTPATH: 这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。 HOME: 当前用户主目录 USER: 查看当前的用户 LOGNAME: 查看当前用户的登录名。 UID: 当前用户的识别字,取值是由数位构成的字串。 SHELL: 是指当前用户用的是哪种Shell。 TERM : 终端的类型。 PWD 当前工作目录的绝对路径名

6-2 shell编程基础

本小妞迷上赌 提交于 2019-11-30 18:54:08
shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结构:数据在计算机中的类型和组织方式 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言:人与计算机之间交互的语言 低级编程语言: 机器:二进制的0和1的序列,称为机器指令。与自然语言差异太大,难懂、难写 汇编:用一些助记符号替代机器指令,称为汇编语言,如: ADD A,B 将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中 汇编语言写好的程序需要汇编程序转换成机器指令 汇编语言稍微好理解,即机器指令对应的助记符,助记符更接近自然语言 高级编程语言: 编译:高级语言-->编译器-->机器代码-->执行:C,C++ 解释:高级语言-->执行-->解释器-->机器代码:shell,python,php,JavaScript,perl 编程逻辑处理方式 顺序执行 选择执行 循环执行 编程基本结构 shell编程:过程式、解释执行 编程语言的基本结构: 各种系统命令的组合 数据存储:变量、数组 表达式:a + b 语句:if shell脚本基础 shell脚本:

使用 shell 脚本配置 iOS 工程

╄→гoц情女王★ 提交于 2019-11-30 07:06:59
  APP开发过程中,往往需要在多个网络环境或配置中进行切换,以获取不同配置的APP,甚至有时需要用一套代码经过简单的配置生成不同的APP。而手动配置费时费力,且容易出错。这里介绍用脚本工具,去生成不同配置的APP工程。 1. 需求分析 在配置工程中我们需要事先知道有哪些配置项: APP 启动图、图标等资源文件。 APP 名称、版本号、bundleID。 APP 相关的微信 APPKey、scheme。 网络环境、部分代码替换。 provisioning profile 修改 分析以上需要配置的项,我们可以发现这些配置项可以分为 三类 ,分别是: 资源文件替换 plist 字段修改 部分代码替换 接下来介绍如何实现满足以上需求的Shell脚本。 2. 脚本设计&实现 2.1 创建脚本   首先创建一个shell脚本文件,在命令行工具中输入 touch xxx.sh 就可以创建shell脚本文件,在这里将shell脚本命名为: projectDeploy.sh 。   运行脚本时在命令行工具中切换到脚本文件所在的路径,输入: sh projectDeploy.sh 命令就可以运行脚本了。 2.2 脚本传参 我们需要传入参数告诉脚需要的具体配置,shell 脚本传入参数的方式有多种,这里只介绍一种: while getopts ":e:s:" opt do case $opt in e

shell 入门及常用命令

拥有回忆 提交于 2019-11-30 06:15:17
1.shell 是什么 shell是指一种程序, 它是和linux沟通的桥梁, 这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务, Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。。我们通常说的shell是指shell脚本, shell脚本的编写语言可以有多种, 比如c、php等, 只要有对应的解释器就可以运行。 Linux 的 Shell 种类众多,常见的有: Bourne Shell(/usr/bin/sh或/bin/sh)是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。 Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell Bourne Again Shell(/bin/bash)LinuxOS 默认的,它是 Bourne Shell 的扩展。 与 Bourne Shell 完全兼容,并且在 Bourne Shell 的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面 C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh)

linux中的sh、dash、bash的区别

本秂侑毒 提交于 2019-11-30 02:51:24
一、常见shell类型 1. Bourne shell (sh) UNIX 最初使用,且在每种 UNIX 上都可以使用。在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。 2. C shell (csh) csh, the C shell, is a command interpreter with a syntax similar to the C programming language.一个语法上接近于C语言的shell。 3. Korn shell (ksh) 完全向上兼容 Bourne shell 并包含了 C shell 的很多特性。 4. Bourne Again shell (bash) 因为Linux 操作系统缺省的 shell。即 bash 是 Bourne shell 的扩展,与 Bourne shell 完全向后兼容。在 Bourne shell 的基础上增加、增强了很多特性。可以提供如命令补全、命令编辑和命令历史表等功能。包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。 5. Debian Almquist Shell(dash) 原来bash是GNU/Linux 操作系统中的 /bin/sh 的符号连接,但由于bash过于复杂,有人把 bash 从

Shell脚本学习笔记

喜欢而已 提交于 2019-11-29 12:20:39
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) Bash也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell 入门: 创建一个名字为Hello的shell脚本:vi Hello.sh (后缀名无所谓,sh是习惯) 运行shell脚本:sh 脚本名 变量: 创建 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:str="hello world!!" 使用变量需要在变量名钱加上$ 为了在开发中表示为变量的时候,会变成${str} 给变量二次赋值:str="" 不需要加上$和{} 创建只读变量:myUrl="http://www.google.com" readonly myUrl 如果尝试改变只读变量的话会报错 删除变量:unset variable_name 变量被删除后不能再次使用。unset 命令不能删除只读变量。 变量类型 运行shell时,会同时存在三种变量: 1)局部变量