shell学习总结之自定义函数
来源:互联网 发布:python递归算法 编辑:程序博客网 时间:2024/05/01 21:32
#! bin/bash# -------------------------------------------------------------------------------# 文件名: Shell自定义函数总结.sh# 版 本: 1.0# 创建日期: 2014/02/12# 描 述: shell中可以用户定义函数,然后在脚本中可以随便调用,下面是我总结的自定义函数的一些特性# 作 者: 毕小朋# 邮 箱: wirelessqa.me@gmail.com# 博 客: http://blog.csdn.net/wirelessqa# -------------------------------------------------------------------------------function get_return_str(){ echo "return \"$1\"" return $1}function get_return_int(){ echo "return $(($1+$2))" return $(($1+$2))}function get_no_return(){ echo "echo $(($1*2))"}#声明全局变量global_var="website: http://blog.csdn.net/wirelessqa"function get_global_var(){ echo "函数内更改全局变量:global_var=\"name: bixiaopeng\"" global_var="name: bixiaopeng"}function get_local_var(){ echo "函数内声明局部变量:local local_var=\"weibo@wirelessqa\"" local local_var="weibo@wirelessqa"}echo "自定义函数需知:"echo "一.因为shell脚本是逐行运行。不会像其它语言一样先预编译,所以必须在调用函数地方之前,声明函数"echo "二.各个输入参数直接用空格分隔,命令里面获得参数方法可以通过:$1…$n,$0为脚本名"echo "三.函数返回值,只能通过$? 系统变量获得"echo "四.局部变量要特别声明"echo "================ 测试加return的参数返回值 ================"echo "注意:1.返回值只能是int,范围在0-255,调用方法和取得返回值之间,不能有任何操作,不然取不到return的值"echo ""echo "1. 测试0-255之间的参数返回值"get_return_int 2 253echo -e "参数返回值为:$? \n"echo "2. 测试>255的参数返回值"get_return_int 10 253echo -e "参数返回值为:$? \n"echo "3. 测试<0的参数返回值"get_return_int -1 -2 echo -e "参数返回值为:$? \n"echo "4. 测试参数返回值为字符,会报错"get_return_str "my name is bixiaopeng" "abc"echo -e "参数返回值为:$? \n"echo "================ 测试不加return的参数返回值 ================"echo "注意:不加return将以最后一条命令运行结果作为返回值,正确为0,错误为1"echo ""echo "1. 最后一条命令执行正确,返回值为0"get_no_return 255echo -e "参数返回值为:$? \n"echo "2. 最后一条命令执行不正确,返回值为1"get_no_return "my name is bixiaopeng"echo -e "参数返回值为:$? \n"echo "================ 全局变量 ================ "echo "global_var=\"website: http://blog.csdn.net/wirelessqa\""get_global_varecho "main函数现次调用全局变量: echo \$global_var"echo $global_varecho "================ 局部变量 ================ "get_local_varecho "main函数现次调用局部变量: echo \$local_var"echo $local_var
运行结果:
bixiaopeng@bixiaopengtekiMacBook-Pro Shell备忘录$ bash Shell自定义函数总结.sh自定义函数需知:一.因为shell脚本是逐行运行。不会像其它语言一样先预编译,所以必须在调用函数地方之前,声明函数二.各个输入参数直接用空格分隔,命令里面获得参数方法可以通过:…,Shell自定义函数总结.sh为脚本名三.函数返回值,只能通过0 系统变量获得四.局部变量要特别声明================ 测试加return的参数返回值 ================注意:1.返回值只能是int,范围在0-255,调用方法和取得返回值之间,不能有任何操作,不然取不到return的值1. 测试0-255之间的参数返回值return 255参数返回值为:2552. 测试>255的参数返回值return 263参数返回值为:73. 测试<0的参数返回值return -3参数返回值为:2534. 测试参数返回值为字符,会报错return "my name is bixiaopeng"Shell自定义函数总结.sh: line 6: return: my: numeric argument required参数返回值为:255================ 测试不加return的参数返回值 ================注意:不加return将以最后一条命令运行结果作为返回值,正确为0,错误为11. 最后一条命令执行正确,返回值为0echo 510参数返回值为:02. 最后一条命令执行不正确,返回值为1Shell自定义函数总结.sh: line 18: my name is bixiaopeng*2: syntax error in expression (error token is "name is bixiaopeng*2")参数返回值为:1================ 全局变量 ================global_var="website: http://blog.csdn.net/wirelessqa"函数内更改全局变量:global_var="name: bixiaopeng"main函数现次调用全局变量: echo $global_varname: bixiaopeng================ 局部变量 ================函数内声明局部变量:local local_var="weibo@wirelessqa"main函数现次调用局部变量: echo $local_var
微信公众帐号: wirelessqa
关于作者:
作者: 毕小朋 | 老 毕 邮箱: wirelessqa.me@gmail.com
微博: @WirelessQA 博客: http://blog.csdn.net/wirelessqa
0 0
- shell学习总结之自定义函数
- Shell编程之Shell变量学习总结
- linux学习之shell脚本 ------- shell函数
- shell学习总结之算术运算方法
- shell学习总结之变量引用
- linux shell 自定义函数
- shell 自定义函数
- Shell入门之函数学习笔记
- shell学习笔记之八(函数)
- Linux学习之路-shell函数
- .net学习总结(6)之sqlserver 自定义函数与存储过程
- Shiro-学习总结-认证之自定义realm
- php学习之自定义函数(3)
- oracle学习笔记之自定义函数
- Hive学习之自定义函数(UDF)
- Hive学习之自定义聚合函数
- php学习基础篇之自定义函数
- 自定义View之构造函数学习
- MS SQL 2008 附件数据库出错解决方法
- “十天一本书”之35—《拆掉思维的墙》有感
- LCM时序问题
- Confluence 贡献人(Contributors)宏
- 正则表达式学习(一)
- shell学习总结之自定义函数
- oracle数据块、区间和段
- Mediawiki常见的配置和修改方法
- 在Eclipse里使用JSHint 检查 js代码
- 【.NET线程--进阶(二)】--小问题?不简单……
- MyEclipse8.5中改变默认空间workspace
- 关于struts2中action请求会执行两次的问题
- 王垠:程序员的心理疾病
- Remove Element