Shell脚本编程--翁建毅090518.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * Shell脚本编程 翁建毅 wengjianyi@ 你知道吗? 什么是Shell Shell脚本能带来什么 Shell脚本的局限性 帮帮我 NS:5 ECOM:9 SOP:1 …… 大纲 基础知识 引号迷雾 深入变量 算术计算 内置字符串处理 信号应用 Shell陷阱 基础知识 Hello World 管道 重定向 分支 循环 自定义函数 调试 –x –n –e 引号迷雾 单引号 双引号 反引号 Awk的引号迷雾 Sed引用外部变量 变量常识 变量作用域 全局变量 (默认全局变量,仅当前shell可见) 局部变量 (限定在函数内部,使用local声明) 变量的继承性 使用export导出变量,让子shell可以继承 只能向下单向继承 若需要使用脚本来影响当前环境,需要使用source来执行脚本 深入变量 – 重温subshell 什么是subshell subshell在什么时候会出现 调用脚本、使用外部命令、管道、()、放入后台的函数。。。 潜在的副作用 cat a.txt |while read line do ((i++)) done echo $i :(){ :|: };: 特殊变量 只读变量 环境变量 (set命名可查看) $PATH,$IFS,$PS1,$PWD,$LINENO 位置参数(Positional Parameters) $1 $2 $3 … ${10} 特殊参数(Special Parameters) $#:位置参数的数量 $*:所有位置参数的内容 ($1 $2 …) $@: 所有位置参数的内容(“$1” “$2” … ) $?:命令执行后返回的状态 $$:当前进程的进程号 $!:后台运行的最后一个进程号 $0:当前执行的进程名 整数计算 id++ id-- ++id –id - + ! ~ ** * / % 计算 ^ | 位操作 = = == != 比较 || 逻辑操作 expr?expr:expr 三元操作符 = *= /= %= += -= = = = ^= |= 赋值操作符 y=2000 闰年计算 echo??$((y%4==0 y%100!=0 || y%400==0)) (( y++ )) 自增1 tmp=$((16#a)) 进制转换 浮点运算 echo “scale=5; 3/7|bc –l .42857 echo 100.43KB 20.12KB | awk {print $1-$2} 80.31 echo ibase=16;F|bc -l 15 怎么做字符串处理? = jx-sys-sdb jx-sys-sdb.jx = tc-sys-sdb.tc = 2009 01 02 内置字符串处理 x=abcd ${#x} # 获取字串长度 4 expr index??$x “b“ # 获取子串所在偏移 2 expr index??$x a“ # 获取子串所在偏移 1 echo ${x:1} # 获取子串 bcd echo ${x:2} cd echo ${x:0:2} ab 内置字符串处理 x=aabbaarealwwvvww echo “${x#a*a}“ # 截去头部最短匹配 bbaarealwwvvww echo “${x##a*a}“ # 截去头部最长匹配 lwwvvww echo “${x%w*w}“ # 截去尾部最短匹配 aabbaarealwwvv echo “${x%%w*w}“ # 截去尾部最长匹配 aabbaareal x=abcdabcd echo ${x/a/b} # 只替换一个 bbcdabcd echo ${x//a/b} # 替换所有 bbcdbbcd 内置字符串处理 x=abcd ${#x} # 获取字串长度 4 expr index??$x “b“ # 获取子串所在偏移 2 expr index??$x a“ # 获取子串所在偏移 1 echo ${x:1} # 获取子串 bcd echo ${x:2} cd echo ${x:0:2} ab 内置字符串处理 – 实际应用 截去域名尾部 name= echo ${name%%.*} jx-sys-superdb 截取日期 str

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档