Linux命令行与shell脚本(13)--在函数中使用普通变量
2017-04-25 13:56
846 查看
基本的脚本函数
创建和使用函数function fun1(){ echo "This is a function echo"; } count=1; while(( count <= 5 )) do fun1; #调用函数 count=$[ $count + 1 ]; done echo "End";
bash shell会把函数当作小型脚本,运行结束时会返回一个退出状态码。默认情况下,函数的退出状态码是函数中最后一条命令返回的退出状态码。
bash shell使用return命令来退出函数并返回特定的退出状态码
function db1(){ read -p "Enter a value:" value echo "Doubling the value"; return $[ $value * 2 ]; } function db2(){ read -p "Enter a value:" value echo $[ $value * 2 ] } db1 echo "The new value is $?" result=`db2`; #函数返回值赋值给result echo "The new value is $result";
在函数中使用变量
函数可以使用标准的参数环境变量来代表命令行上传给函数的参数。例如,函数名会在0变量中定义,函数命令行上的任何参数都会通过1,2等定义。也可以用特殊变量#来判断传给函数的参数数目function addem(){ if (( $# == 0 )) || (( $# > 2 )) then echo -1; elif (( $# == 1 )) then echo $[ $1 + $1 ]; else echo $[ $1 + $2 ]; fi } echo -n "Adding 10 and 15:"; value=`addem 10 15`; echo $value; #25 echo -n "Let's try adding just on number:"; value=`addem 20`; echo $value; #40 echo -n "Now tring adding no number:"; value=`addem`; echo $value; #-1
使用local关键字在函数中设置局部变量
local temp=$[ $value + 5 ]
函数递归
function factorial(){ local param=$1; if (( param == 1 )) then echo 1 else local temp=$[ $param - 1 ]; local result=`factorial $temp`; echo $[ $param * $result ]; fi } factorial 5 #120
创建库
使用函数库的关键在于source命令,该命令会在当前的shell上下文中执行命令,而不是创建一个新的shell来执行命令,source可以使用快捷方式
. ./myfuncs
相关文章推荐
- linux命令行与shell脚本大全_第五章_使用环境变量
- Linux命令行与shell脚本(14)--在函数中使用数组
- Linux命令行与shell脚本(3)--环境变量
- linux下shell脚本的使用——安装madplay播放器,sed函数详解
- Linux命令行与shell脚本(9)--函数参数
- Linux命令行和shell脚本编程-函数
- Linux中shell脚本使用函数
- linux下shell脚本中sed命令使用变量
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
- Linux命令行与shell脚本(16)--gawk使用
- Linux 在Shell脚本中使用函数实例详解
- Linux命令行与shell脚本(15)--sed使用
- linux命令行与shell脚本大全_第十六章_创建函数
- 8.17_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用
- shell脚本里函数定义和变量使用
- linux 函数局部变量的堆栈使用
- 使用linux的shell脚本实现在当前行重复动态显示时间等字符串信息(不另起新行)
- 转:使用Shell脚本对Linux系统和进程资源进行监控
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令