马哥Linux学习笔记6-1egrep及bash中的变量

  • egrep 及扩展正则表达式
    egrep = grep -E
    扩展正则表达式的元字符:字符匹配:.,[],[^]
    次数匹配:*,?0或1次,+1次或多次,{m}匹配m次,{m,n}至少m次,至多n次
    锚定:^,$,\ <,\b,\ >,\b
    分组:()后向引用:\1\2
    或者a|b
  • bash的基础特性(4)
    变量类型:数据存储格式,存储空间大小,参与运算种类
    字符型
    数值型:整型,浮点型
    强类型:定义变量时必须指定类型,参与运算必须符合类型要求,调用未声明变量会产生错误。
    弱引用:无须指定类型,默认均为字符型,参与运算会自动进行隐式类型转换,变量无须事先定义可直接调用。
  • bash中变量的种类:根据变量的生效范围等标准
    本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程,包括当前shell的子shell均无效。
    环境变量:生效范围为当前shell进程及其子进程。
    局部变量:生效范围为当前shell进程中某代码片段(通常指函数)。
    位置变量:$1,$2…来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数。
    特殊变量:¥?,¥0,¥*,¥@,¥#
  • 本地变量:
    变量赋值:name=‘value’,可以使用引用:
    value:1可以是直接字符串:name=“username”2变量引用:name=“$username”3命令引用:name=command,name=¥(command)
    变量引用:¥{name},¥name
    “”:弱引用,其中的变量引用会被替换为变量值
    ‘’:强引用,其中的变量引用不会被替换为变量值,而保持原字符串
    显示已定义的所有变量:set
    销毁变量:unset name
  • 环境变量:变量声明,赋值
    export name=value
    declare -x name=value
    变量引用:$name,¥{name}
    显示所有环境变量:export,env,printenv
    销毁:unset name
    bash有许多内建的环境变量:PATH,SHELL,UID,HISTSIZE,HOME,PWD,OLD,HISTFILE,PS1
    变量命名法则:1不能使用程序中的保留字,例如if,for
    2只能使用数字,字母及下划线,且不能以数字开头
    3见名知义
    只读变量:readonly name
    declare -r name
    位置变量:在脚本代码中调用通过命令行传递给脚本的参数:
    ¥1,¥2…对应调用第1第2等参数
    shift 【n】
    ¥0:命令本身
    ¥*:传递给脚本的所有参数
    ¥@:传递给脚本的所有参数
    ¥#:传递给脚本的参数的个数

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87647714