zl程序教程

您现在的位置是:首页 >  其他

当前栏目

shell函数及返回值

shell 函数 返回值
2023-09-14 09:09:19 时间

linux shell可以用户定义函数,然后在shell脚本中可以随便调用。

shell中函数的定义格式如下:

[ function ] funname [()]

{

    action;

    [return int;]

}

说明:

(1)可以带function fun() 定义,也可以直接fun() ,不带任何参数。

(2)参数返回:可以显式加return返回;如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)。

shell函数的返回值,常用的有两种方式:return和echo。

1. return方式

此方式和传统的其它语言的函数返回方式类似,从写法上更容易被接受。但只能返回数值,而且大小不能超过255(只能返回[0, 255]),因此受限制比较多。

接收方式:通过$?获取返回值。

实例:

#!/bin/sh

function test()
{
    echo "这个函数会对输入的两个数字进行相加运算..."
    echo "输入第一个数字: "
    read a
    echo "输入第二个数字: "
    read b
    echo "两个数字分别为 $a 和 $b 。"

    return $(($a+$b))
}

test
echo "输入的两个数字之和为 $? !"

2. echo方式

此方式是一个非常安全的返回方式,通过将返回值输出到标准输出返回。由于子进程会继承父进程的标准输出,因此,子进程的输出也就直接反映到父进程。

接收方式:通过$()或``获取返回值。

实例:

#!/bin/sh

function test()
{
	echo "256"
}

result=`test`
echo "result is: $result"

result=$(test)
echo "result is: $result"