shell学习之函数

创建函数

function name {
 commands
} 

name属性表示函数的唯一名称,在脚本中,每个函数名都是唯一的。
commands是构成函数的bash shell命令

例如

#!/bin/bash

function test {
	echo "test"
}

test

返回值

使用return返回状态码

#!/bin/bash

function test {
	read -p "enter number:" nu
	return $[ $nu * 2 ]
}

test
echo "result number = $?"

但当用这种方法从函数中返回值时,要小心了。记住下面两条技巧来避免问题:

  • 函数一结束就取返回值;
  • 退出状态码必须是0~255。
  • 如果在用$?变量提取函数返回值之前执行了其他命令,函数的返回值就会丢失。$?变量会返回执行的最后一条命令的退出状态码。
    第二个问题界定了返回值的取值范围。由于退出状态码必须小于256,函数的结果必须生成
    一个小于256的整数值。任何大于256的值都会产生一个错误值

使用函数输出

#!/bin/bash

function test {
	read -p "enter number:" nu
	echo $[ $nu * 2 ]
}

t=$(test)
echo "result t = $t"

函数中使用变量

向函数传递参数

函数可以使用标准的参数环境变量来表示命令行上传给函数的参数。例如,函数名会在$0变量中定义,函数命令行上的任何参数都会通过$1、$2等定义。也可以用特殊变量$#来判断传给函数的参数数目

#!/bin/bash

function test {
	echo "nu = $1"
}
test 20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值