(P7)shell编程入门第7讲:函数:字符串操作 ,一些内置命令:expr、shift、eval、trap等 ,Shell内置命令总结 | 您所在的位置:网站首页 › linux课程总结1000字 › (P7)shell编程入门第7讲:函数:字符串操作 ,一些内置命令:expr、shift、eval、trap等 ,Shell内置命令总结 |
(P7)shell编程入门第7讲:函数:字符串操作 ,一些内置命令:expr、shift、eval、trap等 ,Shell内置命令总结
原创
喜欢打篮球的普通人 2023-03-09 09:25:07 博主文章分类:鸟哥Linux私房菜 ©著作权 文章标签 bash 字符串操作 字符串 文章分类 HarmonyOS 后端开发 ©著作权归作者所有:来自51CTO博客作者喜欢打篮球的普通人的原创作品,请联系作者获取转载授权,否则将追究法律责任 文章目录1.函数的使用2.字符串操作3.一些内置命令:expr、shift、eval、trap等4.Shell内置命令总结1.函数的使用和其它编程语言一样,Bash也可以定义函数一个函数就是一个子程序,用于完成特定的任务,当有重复代码,或者一个任务只需要很少的修改就被重复几次执行时,这时你应该考虑使用函数函数的一般格式为function function_name{ commands}推荐使用下面的方式function_name (){ commands} 函数eg (1)只需要输入函数名即可调用该函数 (2)函数必须在调用之前定义#!/bin/bashfun(){ echo "Entering function" echo "Exiting function"}fun func1 a b vim fun.sh #!/bin/bash. tool ##点号表示包含tool文件,相当于C语言中include头文件test ##调用test函数注意:pattern,old中可以使用通配符 测试:#!/bin/bashvar="/aa/bb/cc"result1=${var#*/}result2=${var##*/}result3=${var%/*}result4=${var%%/*}echo $varecho '${var#*/}'=$result1echo '${var##*/}'=$result2echo '${var%/*}'=$result3echo '${var%%/*}'=$result4 注意:目前用的少,可用$[...]替换 shift命令 (1)一般用于函数或者脚本程序参数出来,特别是参数多余10以上的时候 (2)将所有参数变量向下移动一个位置,$2变成$1,$3变成$2,依次递进,但是$0保持不变($0是脚本名称)eg:#!/bin/bashwhile [ "$1" != "" ]do echo $1 shiftdone 测试:while [ "$1" != "" ]do echo $* shiftdone 测试: 将参数循环一遍,并打印 $*表示所有的参数列表listpage="ls -l | more"$listpage listpage="ls -l | more"eval $listpage eg:#!/bin/bashcmd=if [ "$1" == "1" ];then cmd="ls"else cmd="ls -l"fieval $cmd 测试: eval使得要执行的命令具有动态性command一般情况下是Linux命令’ ’表示发生陷阱时为空指令,不做任何动作’-’表示发生陷阱时采用缺省指令 signalHUP(1) 挂起;一般因终端掉线或用户退出而引发INT(2) 中断;一般因按下”Ctrl+C”组合键引发QUIT(3) 退出;一般因按下”Ctrl+\”组合键引发ABRT(6) 异常中止;一般因某些严重的执行错误而引发ALRM(14) 闹钟;一般是超时时钟到来而引发TREM(15) 中止;一般由系统在关机的时候发出 eg:#!/bin/bash#安装2、3号信号#处理代码为"rm -f tmp$$;exit 0“ trap "rm -f tmp$$;exit 0" 2 3#生成文件,文件名为tmp+当前进程号touch tmp$$#睡眠60秒,以便向当前进程发送信号sleep 60exit 0表示退出当前进程$$表示当前进程号当2号信号和3号信号来的时候,会执行rm -f tmp$$;exit 0 测试:内置命令 命令说明 echo 输出一行文本到标准输出设备 read 从标准输入设备读入数据 printf 格式化输出 declare 定义或创建变量或数组 let 让未定义的变量参与算数运算 expr 执行表达式 shift 把所有参数变量向下移动一个位置 eval 执行命令 trap 用来定义接收OS信号后而采取的动作 exit 退出SHELL程序 sleep 睡眠 test 条件测试 – – 赞 收藏 评论 分享 举报 上一篇:shell最佳入门 下一篇:(P22)socket编程:socketpair、sendmsg/recvmsg、UNIX域套接字传递描述符字 |
CopyRight 2018-2019 实验室设备网 版权所有 |