标签:执行 地方 ash pre 调用 声明 shell 函数返回 class
1.必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先预编译
2.函数返回值,只能通过$? 系统变量获得,可以显示加:return 返回,
如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255),不能超过255,所以返回值结果为88
3、调试结果
sh -vx functionshell.sh
#!/bin/bash function addnum() { echo $1,$2 return $(($1+$2)) } addnum 200 400 #多个变量以空格隔开 sum=$? #只能这样获取上一个语句执行结果 echo $sum function addnum1() { echo $1,$2 sum1=$(($1+$2)) return $sum1 } addnum1 200 400 #多个变量以空格隔开 sum1=$? #只能这样获取上一个语句执行结果 echo $sum1
[app@VM_4_53_centos cfltest]$ ./functionshell.sh 200,400 88 200,400 88 [app@VM_4_53_centos cfltest]$ vi functionshell.sh [app@VM_4_53_centos cfltest]$ sh -vx functionshell.sh #!/bin/bash function addnum() { echo $1,$2 return $(($1+$2)) } addnum 200 400 #多个变量以空格隔开 + addnum 200 400 + echo 200,400 200,400 + return 600 sum=$? #只能这样获取上一个语句执行结果 + sum=88 echo $sum + echo 88 88
函数结果为88 -return后跟数值n(0-255),不能超过255,所以返回值结果为88
标签:执行 地方 ash pre 调用 声明 shell 函数返回 class
原文地址:https://www.cnblogs.com/shishibuwan/p/11246523.html