关于linux shell函数返回值问题

本文探讨了Linux Shell函数的返回值,包括如何设置和使用返回值,以及它们在脚本中的重要性。了解这一概念对于编写高效、可靠的Shell脚本至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于linux shell函数返回值问题

#!/bin/bash
# History:
# 2017/6/15 chuankun first release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH


ERROR_VALUE=255
EQVALUE=249
declare -i j
declare -i i=20

//比较两数大小的函数,并返回一个值。
max_number()
{
if [ -z "$2" ]
then
    return $ERROR_VALUE
fi

if [ "$1" -eq "$2" ]
then

    return $EQVALUE
else
    if [ "$1" -gt "$2" ]
    then
        return $1
    else
        return $2
    fi
fi
}

echo -n "Input a number:"
read j
echo
max_number $i $j
return_value=$?
if [ "$return_value" -eq $ERROR_VALUE ]//如果未输入参数
then
    echo "Need to pass two parameters to function."
elif [ "$return_value" -eq $EQVALUE ]  //如果两数相等
then
    echo "The two numbers are equal."
else                                   //输出最大值。
    echo "The larger number is $return_value."
fi
exit 0
1-该函数的返回值ERROR_VALUE和EQVALUE如果改为负数的话,执行该shell就会出错,这是什么原因?

2-函数的参数$1和$2在比较时,if [ "$1" -gt "$2" ],采用了双引号,这是为何,本人实验过,if [ $1 -gt $2 ],也不会报错,这是为何?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值