- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数C教程网cppcoursecom
函数 第七章 * 本章目标 函数的使用 字符串操作 一些内置命令(expr,shift,eval,trap等) * function_name() { commands } 函数 一个函数就是一个子程序,用于完成特定的任务,当有重复代码,或者一个任务只需要很少的修改就被重复几次执行时, 这时你应考虑使用函数。 function function_name { commands } 函数的一般格式 和其它编程语言一样, Bash 也可以定义函数。 * 只需输入函数名即可调用该函数。 函数举例 函数必须在调用之前定义 #!/bin/bash fun() { echo This is fun2. echo Now exiting fun2. } fun2 # 调用函数 fun2 * 函数参数传递 #! /bin/bash func1() { echo the parameters count:$# echo the first parameter:$1 echo the second parameter:$2 } func1 a b * 字符串操作 * ${#var} 返回字符串变量 var 的长度 ${var:m} 返回${var}中从第m+1个字符到最后的部分 ${var:m:len} 返回${var}中从第m+1个字符开始,长度为len的部分 ${var#pattern} 删除${var}中开头部分与pattern匹配的最小部分 ${var##pattern} 删除${var}中开头部分与pattern匹配的最大部分 ${var%pattern} 删除${var}中结尾部分与pattern匹配的最小部分 ${var%%pattern} 删除${var}中结尾部分与pattern匹配的最大部分 ${var/old/new} 用new替换${var}中第一次出现的old ${var//old/new} 用new替换${var}中所有的old(全局替换) 注:pattern,old 中可以使用通配符。 m 的取值从 0 到 ${#var}-1 生成随机数的特殊变量 echo $RANDOM expr:通用的表达式计算命令 表达式中参数与操作符必须以空格分开,表达式中的运算可以是算术运算,比较运算,字符串运算和逻辑运算。 expr 5 % 3 expr 5 \* 3 # 乘法符号必须被转义 随机数和 expr 命令 注意:目前比较少使用,可用$[ ... ]替换 * shift命令 一般用于函数或者脚本程序参数处理,特别是参数多于10以上的时候 将所有参数变量向下移动一个位置,$2变成$1,$3变成$2,依次递进,但$0保持不变 例如: while [ $1 != ] do echo $1 shift done * listpage=ls -l | more $listpage listpage=ls -l | more eval $listpage eval命令 eval arg1 [arg2] ... [argN] 将所有的参数连接成一个表达式,并计算或执行该表达式,参数中的任何变量都将被展开。 * trap命令 trap command signal command 一般情况下是Linux命令 ’ ’表示发生陷阱时为空指令,不做任何动作 ’-’表示发生陷阱时采用缺省指令 signal HUP(1) 挂起;一般因终端掉线或用户退出而引发 INT(2) 中断;一般因按下”Ctrl+C”组合键引发 QUIT(3) 退出;一般因按下”Ctrl+\”组合键引发 ABRT(6) 异常中止;一般因某些严重的执行错误而引发 ALRM(14) 闹钟;一般是超时时钟到来而引发 TREM(15) 中止;一般由系统在关机的时候发出 * 陷阱命令举例 * #!/bin/bash #安装2、3号信号 #处理代码为rm -f tmp$$;exit 0 trap rm -f tmp$$;exit 0 2 3 #生成文件,文件名为tmp+当前进程号 touch tmp$$ #睡眠60秒,以便向当前进程发送信号 sleep 60 Shell内置命令总结 内置命令 命令说明 echo 输出一行文本到标准输出设备 read 从标准输入设备读入数据 printf 格式化输出 declare 定义或创建变量或数组 let 让未定义的变量参与算术运算 expr 执行表达式 shift 把所有参数变量向下移动一个位置 eval 执行命令 trap 用来定义接收OS信号后而采取的动作 exit 退出SHELL程序 sleep 睡眠 test
文档评论(0)