Shell脚本学习笔记-函数
来源:互联网 发布:矩阵开关介绍 编辑:程序博客网 时间:2024/06/09 21:24
1. 基本的脚本函数
1.1 函数的定义
function name { commands}或者
name() { commands}
1.2 简单示例
#!/bin/shfunction Func01 {echo "This is function of Func01"}Func02() {echo "This is function of Func02"}Func01Func02运行结果:
1.3 函数返回值与退出码
#!/bin/shfunction Func01 {echo "This is function of Func01"}Func02() {echo "This is function of Func02"}Func03(){echo "This is function of Func02" #自定义退出码,退出码需限制在0-255之间 return 10}Func01#输出函数运行的退出码,0表示成功echo "$?"#运行一个未定义的函数,观察退出码Func04echo "$?"#观察函数自定义的退出码Func03echo "$?"运行结果:
2. 函数中变量使用
2.1 函数中变量参数处理
#!/bin/shsum(){ if [ $# -eq 2 ] then sum=$[ $1+$2 ] echo $sum else echo "please input 2 args" return 1 fi }value=`sum $1 $2`if [ $? -eq 0 ]then echo $valueelse echo "Err $value"fi运行结果:
2.2 函数中使用数组参数
#!/bin/sh#定义一个数组numberArray=(1 2 3 4 5 6 7 8 9 10)#定义一个求和函数sum(){ result=0 for var in $@ do result=$[ $result+$var] done echo $result}#输出数组的长度echo "输出数组的长度: ${#numberArray[@]}"#输出数组中指定的值echo "输出数组中指定的值:${numberArray[2]}"#修改数组指定的值numberArray[2]=4echo "修改数组指定项后的值:${numberArray[2]}"#调用函数,使用数组变量echo "调用函数,使用数组变量: `sum ${numberArray[*]}`"运行结果:
2.3 通过local关键字定义函数中的局部变量
#!/bin/sh#定义一个数组numberArray=(1 2 3 4 5 6 7 8 9 10)#定义一个求和函数sum(){#未定义局部变量的情况 result=0 for var in $@ do result=$[ $result+$var ] done echo $result}echo "未定义局部变量的情况"sum ${numberArray[*]}echo "$result"sum(){#使用local关键字将result变量定义为局部变量 local result=0 for var in $@ do result=$[ $result+$var] done echo $result}echo "使用了local关键字定义局部变量的情况"sum ${numberArray[*]}echo "$result"运行结果:
3. 引用函数库
3.1 通过source filepath命令在脚本中引用其他其他脚本的函数库, source filepath也可简写为“. filepath”的形式
3.2 简单示例,编写两个shell脚本,在newshell.sh脚本中引用shellscript的函数,e.g:
0 0
- Shell脚本学习笔记-函数
- Shell脚本学习笔记(五)--函数
- SHELL脚本,学习笔记
- shell脚本学习笔记
- shell 脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- shell 脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- Shell脚本学习笔记
- shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- shell脚本学习笔记
- Shell脚本学习笔记
- Android事件总线分发库EventBus3.0的简单讲解与实践
- 【HUSTOJ】1095: 素数的个数
- 非常全面的 Android Bitmap 知识点梳理
- cPanel下网站的备份
- 线程同步-生产者消费者问题
- Shell脚本学习笔记-函数
- maven分模块,聚合 在实际项目里面的应用
- xml中引用PullToRefreshListView
- 递归和动态规划-汉诺塔II
- VMware安装MacOS虚拟机无法从光盘启动
- Tomcat部署项目(JEECG)时报错处理
- Ubuntu14.04交叉编译Linux内核
- linux基本命令(17)——whereis命令
- 输入一个集合,输出这个集合的所有子集