linux 笔记--扩展正则表达式,bash脚本—变量,条件判断,算术运算

  • 正则表达式:有两类,一:basic regexp  二:extended(扩展正则表达式)  他们的部分元字符不一样,意义也不相同
  • grep:使用基本正则表达式或定义的模式中过滤文本的命令,-E;使用扩展正则表达式  -A 数字:不仅显示匹配到的行,还显示后面几行  -B 数字:不仅显示匹配到的行,还显示前几行  -C 数字:不仅显示匹配到的行,还显示前后个几行
  • 扩展正则表达式:
  • 其中 . [] [^] * ^ $ \< \>与grep是相同的, ? 与 \?:意思相同,可以不写\  +:其前字符至少出现一次  {m,n} ():不使用\ 括号内表示一个整体 |:或者的意思  (注:grep -E = egrep 扩展表达式,fgrep:不支持正则表达式)
  • shell 编程 :脚本编程
  • 编程语言:机器语言(0 1代码) 汇编语言 高级语言
  • 静态语言:c c++ java c# 编译型语言,在执行前必须完全转化完成才可执行,强类型语言(变量在使用前必须先声明格式,甚至还要初始化)
  • 动态语言:php python shell perl 解程型语言,边转化边执行,弱类型语言(变量用时不需要区分类型,默认为字符串)
  • 面向过程:解决问题的过程本身(shell c)
  • 面向对象:把要实现的一个项目抽象成一个对象,并定义对象之间的动作,操作(java python perl c++)
  • 内存:编址的储存单元
  • 变量:内存空间,(变量赋值:变量名=值)
  • 变量命名要求:
  • 1.只能包含字母,数字和下划线并且不能数字开头
  • 2.不应该跟系统中已有的环境变量重名
  • 3.最好做到见名见意的效果
  • 变量类型:储存数据的格式,整型,浮点型,布尔型(真假) 要事先确定数据的存储格式和长度
  • 逻辑运算:与  或  非  异或
  • 与:1  0 = 0  0  1 = 0  1  1 = 1  0  0 = 0 (相当与电路中的与门电路)
  • 或:1  0 = 1  0  1 = 1  1  1 = 1  0  0 = 0  (相当与电路中的非门电路)
  • 非:!(0) = 1  !(1) = 0  (单目运算符)
  • 异或:1  0 = 1  0  1 = 1  1  1 =0  0  0 = 0  (相同为假,不同为真)
  • 短路逻辑:短路与:当第一个条件为假时,就跳过第二条件表达式,不执行。 短路或:当第一个条件为真时,跳过第二个条件表达式,不执行。
  • bash 变量类型:环境变量  本定变量(局部变量,反则不对) 位置变量  特殊变量(系统变量)
  • 引用变量:${VARNAME} 括号可省略 echo “ .....${VARNAME}....”(要引用变量时用双引号,不引用时用单引号)
  • 本地:VARNAME=VALUE 作用域:整个bash进程引用
  • 局部:local VARNAME=VALUE 作用域:只对当前代码段有用
  • 环境变量:作用域:当前shell进程及其子进程,export VARNAME=VALUE  也可以 VARNAME=VALUE  export VALUE
  • 脚本在执行时会启动一个子shell进程,命令行中启动的脚本会继承当前shell环境变量,系统自动执行的脚本(非命令行启动)就需要自我定义需要的环境变量
  • 位置变量:$1  $2  $3....
  • 特殊变量:$? 上一个命令执行状态返回值(echo $?)  (注:程序执行可能有两类返回值执行状态返回代码 0-255 0:为执行正确的返回值 1 2 127 :为系统预留,其它都是执行错误的返回值)
  • /dev/null:软件设备(模拟)  bit backet
  • 撤销变量:unset VARNAME  ($VARNAME撤销变量中的值)(脚本结束后脚本中的变量也会撤销)
  • 查看当前shell中的变量:set (所有变量)
  • 查看当前shell中的环境变量:printenv,env,export
  • 向已有的变量添加变量:ANIMALS=VARNAME (ANIMALS=$ANIMALS:VARNAME)  (export PATH=....:$PATH)也可以添加到前面(PATH=$PATH:....)
  • 脚本:命令的堆砌,按实际需要结合命令流程控制机制实现的源程序
  • shebang:魔数   #!/bin/bash
  • 脚本执行:
  • 1.把执行的路径加入PATH
  • 2.直接加入路径执行
  • 3.解释器加文件名
  • bash中如何实现条件判断:
  • 判断类型:1.整数判断 2.字符串判断 3.文件判断(文件是否存在)
  • 判断表达式:
  • 1.[ expression ]
  • 2.[[expression]]
  • 3.test expression
  • bash命令间的逻辑关系:
  • 逻辑与:&&
  • 逻辑或:||
  • (都符合短路逻辑)
  • 整数比较(多目):
  • -eq:判断两个整数是否相等($A -eq $B)  -ne:判断两个整数是不等的  -gt:判断一个数大于另一个数  -lt:判断一个数是否小于另一个数  -qe:大于或等于  -le:小于或等于
  • 条件判断,控制结构
  • 单分支的if语句:
  • if 判断条件; then
  • statement1
  • statement2....
  • fi
  • 双分支的if语句:
  • if 判断条件; then
  • statement1
  • statement2....
  • else
  • statement1
  • fi
  • shell中的算术运算:
  • 1.let $c=$A+$B
  • 2.$[ ]:C=$[$A+$B]
  • 3.$(( )):C=$(($A+$B))
  • 4.expr 运算表达式中各个操作数及运算符要有空格而且要是用命令引用:C=`expr $A + $B`
时间: 2024-10-25 11:02:04

linux 笔记--扩展正则表达式,bash脚本—变量,条件判断,算术运算的相关文章

17.自学Linux之路:bash编程之条件判断语句

bash编程之条件判断:判定后续操作的前提条件是否满足 常用判断类型: 整数判断: 字符判断: 文件判断: $?:状态返回值 0:真 1-255:假 我们可以将状态返回值作为判断条件,不需要加` ` 布尔值: 真和假 逻辑运算: 与运算:&& 或运算:|| 非运算:! bash中条件判断使用if: 单分支: if 条件; then 分支1; fi 双分支: if 条件; then 分支1; else 分支2; fi 多分支: if 条件; then 分支1; elif 条件2; then

菜鸟的Linux之路2 bash脚本编程之一

shell脚本编程 脚本编程是一种编程能力的体现. 编程语言分为以下几类: 1,机器语言 2,汇编语言 3,高级语言: (1)静态语言:编译型语言->强类型语言 强类型语言指的是变量的类型在程序执行前声明好,不能在程序执行过程中随意改变变量类型的语言. 强类型语言常见的有:C.C++.Java.C#等. 编译型语言在程序执行前会依靠编译器将程序全部转换成可执行的二进制格式. 编译型语言需要事先确定好变量类型,因为它没有解释器,解释器的机制可以帮助程序自动声明变量的类型. 强类型的语言,变量在使用

15、自学——Linux的学习进度与任务【bash编程之条件判断】

bash编程之条件判断 bash编程之条件判断:判定后续操作的前提条件是否满足 1.条件判断的常用判断类型(bash内生的): 整数测试 字符测试 文件测试   2.echo $?(执行状态返回值): 0:正确 1-255:错误 布尔值: 真 假 3.逻辑运算: 与运算: 真 && 真 = 真(0) 真 && 假 = 假(非0) 假 && 真 = 假 假 && 假 = 假 或运算: 真 || 真 = 真(0) 真 || 假 = 真 假 ||

Shell脚本IF条件判断和判断条件总结

转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下 前言:      无论什么编程语言都离不开条件判断.SHELL也不例外. if list then           do something here       elif list then           do another thing here       e

shell脚本之条件判断

脚本:命令的堆砌 任何脚本的首行: #!/bin/bash :也就是解释器路径 除此之外前面加#号的为注释 脚本执行之前要给执行权限:chmod +x 文件名 bash中实现条件判断: 条件测试类型: 整数测试 字符测试 文件测试 条件测试表达式: [ expression ] [[ expression ]] test expression 整数比较: -eq:测试两个整数是否相等:比如$a -eq $b,相等返回0 -ne:测试两个整数是否不等:不等为真,相等为假 -gt:测试一个数是否大于

菜鸟的Linux之路3 bash脚本编程之二

整数测试及特殊变量     在开始之前我们先介绍一个可以提前结束脚本的命令->exit exit的作用是退出当前进程.退出当前脚本,任何一个命令或者说是任何一个进程执行结束的时候都会有一个执行结果返回值和一个执行状态结果返回值,exit是用来让用户自定义执行状态结果返回值的命令. 命令.脚本或者说是进程的执行状态结果有两种情况: ->正确执行 ->错误执行 而这种状态可以使用exit命令自定义. exit命令使用格式:exit #(0-255) 0值,表示执行正确 1-255的值,均表示

linux笔记三 --正则表达式

前言:本篇博客的主要是记录学习过程中的正则表达式和sheel通配符. 内容: 1.shell通配符 通配符是基于bash解释器解析的,而正则表达式由正则引擎的软件(如awk,grep,sed等)解析,二者完全不同. * 表示匹配任意多个字符,0个到多个. ? 表示匹配任意一个字符. [] 表示选择其中的一个匹配. [-] 表示匹配一个范围中的一个字符.如:[a-z]匹配到a-z中的一个. [^]或[!] 表示不匹配其中的任意一个.如:[^a-z]不匹配其中的任意一个 实例(此处实例参考其他博客)

linux笔记 3-11 3-12 shell脚本

## 1.创建新shell脚本 ## 1. 创建包含bash命令的文本文件.文件的第一行应为: #!/bin/bash 2. 使文件可执行(使用chmod +x scripts) 3.脚本调试模式: #!/bin/bash -x # bash -x scripts   ## 2.引用和转义 ## 弱引用 将字符串放置在双引号中,保留字符串中所有字符的文字值,$.`.\和!字符除外.换言之,变量扩展和命令扩展在双引号内仍起作用. 例:   强引用将字符串放置在单引号中,保留字符串中所有字符的文字值

bash脚本变量、变量类型

bash的变量类别有以下几类,区分好变量类别能让我们更好的理解bash基础: 本地变量(局部变量) 环境变量 特殊变量 位置变量 本地变量(局部变量) 作用域为整个bash进程.仅对当前shell进程有效,对子shell无效. 比较好理解的就是我复制了一个变量,我的子shell并不能够使用到这个变量 环境变量 作用域为当前shell进程及其子进程 查看环境变量的常用命令为:export env 特殊变量 $?:表示引用前一个命令的执行状态的返回值.在流程控制语句中判断条件都是执行状态返回值0为真