shell 11函数

1. 函数定义

function 方法名(){    #注意:function可加可不加
	command
	return int;
}

2. 不带返回值的函数

#!/bin/sh
function fun1(){
	echo "hello world"
}
echo "start"
fun1
echo "end"

start
hello world
end

3. 带return返回值的函数

注意:如果不加return,将以最后一条命令的运行结果作为返回值。return后跟数值n(0-255)。

#!/bin/sh
fun1(){
	echo "开始计算"
	read -p "请输入第一个数字:" numA
	read -p "请输入第二个数字:" numB
	return $(($numA+$numB))
}
echo "start"
fun1
echo "结果:$?"
echo "end"

start
开始计算
请输入第一个数字:5
请输入第二个数字:4
结果:9
end

3. 函数参数

在shell中,调用函数可以向其传递参数。在函数内部,通过$n的形式来获取参数的值。例如$1表示第一个参数,$2表示第二个参数...

#!/bin/sh
fun1(){
	echo "第一个参数:$1"
	echo "第二个参数:$2"
	echo "第十个参数:$10"
	echo "第十参数:${10}"
	echo "参数个数:$#"
	echo "以一个字符串列出所有参数:$*"
}
fun1 1 2 3 4 5 6 7 8 9 47

第一个参数:1
第二个参数:2
第十个参数:10
第十参数:47
参数个数:10
以一个字符串列出所有参数:1 2 3 4 5 6 7 8 9 47

注意:\(10不能获取第10个参数,获取第10个参数需要使用\){10}。当n>=10时,需要使用${n}来获取参数
其他处理参数的特殊字符:

  • $# 传递到脚本的参数个数
  • $* 以一个单字符串显示所有向脚本传递的参数
  • \[ 脚本运行的当前进程ID号 \]

  • \(@ 与\)*相同,但是使用时加引号,并在引号中返回每个参数。
  • $- 显示Shell使用的当前选项,与set命令功能相同。
  • $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
posted on 2018-09-05 11:00  singleSpace  阅读(320)  评论(0编辑  收藏  举报