- 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
您可能关注的文档
最近下载
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(研优卷).docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 教育、科技、人才一体化与新质生产力发展.pptx VIP
- 《大棚番茄基质槽式栽培技术规程》.docx
- 立体车库 毕业论文外文翻译.docx VIP
- 教育、科技、人才一体推进新质生产力发展.docx VIP
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(考试直接用).docx VIP
- 社交礼仪教程(第7版 微课版)课件 第五章 餐饮礼仪.pptx
- 2025清华:DeepSeek从入门到精通.pdf
文档评论(0)