设为首页 收藏本站
查看: 626|回复: 0

shell复习摘要(三)

[复制链接]

尚未签到

发表于 2018-8-24 07:29:16 | 显示全部楼层 |阅读模式
SHELL复习摘要(三)
扩展性样式比对
  shell于egrep/awk正则表达式运算符比较
  ksh/bash            egrep/awk          含义
  *(exp)           exp*              存在0个或多个exp
  +(exp)          exp+             存在1个或多个exp
  ?(exp)           exp?             存在0个或1个exp
  @(exp1|exp2|…)        exp1|exp2|…              exp1或exp2
  !(exp)            (none)          所有不相符于exp的
  例如:
  @(dave|fred|bob)比对相符的有dave、fred、bob
  *(dave|fred|bob)意即存在0或多个dave等
  +(dave|fred|bob)相符于上述所有字符串,null除外
  ?(dave|fred|bob)相符于null字符串,dave等
  !(dave|fred|bob)相符于dave、fred、bob之外的任何字符串
  egrep和awk有两个正则表达式运算符在shell里没有等同物:
  行开否与行结束运算符^和$。
  单词的起始与单词的结束运算符\
括弧展开
  括弧展开式让输入更轻松的方法
  echo cpp-{args,l{e,o}x,parse}.c
  cpp-args.c cpp-lex.c cpp-lox.c cpp-parse.c
进程替换
  进程替换可以让用户开启多个进程数据流,再将它们喂给单一程序处理。
  例如:
  awk ‘…’ (grep “USER”|wc -l)>/dev/null
  进程替换只有在支持/dev/fd/n特殊文件的UNIX系统下可使用,为命名访问到已开启之文件描述代码。
各类扩展
  附加的波浪号展开:POSIX将~定义为$HOME与~user—user家目录。bash和ksh允许使用~+作为$PWD(当前工作目录)的缩写,使用~-作为$OLDPWD(前一个工作目录)的缩写。
  算术命令:POSIX定义$((…))标记作为算术展开,但不提供任何其他算术操作限制。不过两种shell都支持两种直接处理算术的标记,而非展开:
  let “x = 5+y”    let命令,需以引号框起
  ((x = 5+y))    未前置$,自动的用双括号引起来
  x=$((5+y))    类似,但=前后都不可置放任何空格
  有个不同之处,便是let与((…))都有离开状态:0为真(true)值,而1为伪(false)值。
  case语句的可选用圆括号比对:命令替换的$(…)语法已由POSIX标准化。case开启圆括号必须置于$(…)内。
  some command $(…
  case $var in
  ( foo|bar ) some other command ;;
  ( stuff|junk )    something else agin ;;
  esac
  …)
  使用

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-555701-1-1.html 上篇帖子: shell的单、多、控制进程 下篇帖子: Vim基本操作以及初识Bash Shell
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表