shell_76.Linux使用 return 命令

本文介绍了Bashshell中return命令在函数中的使用,强调了其返回值的处理,包括正确读取返回值和理解退出状态码的范围。同时,展示了如何将函数输出保存到shell变量中以实现类似命令的效果。

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


使用 return 命令
bash shell 会使用 return 命令以特定的退出状态码退出函数。return 命令允许指定一个整数值作为函数的退出状态码,从而提供了一种简单的编程设定方式:

$ cat test5 
#!/bin/bash 
# using the return command in a function 
function dbl { 
 read -p "Enter a value: " value 
 echo "doubling the value" 
 return $[ $value * 2 ] 
} 
dbl 
echo "The new value is $?" 
$ 


注意
dbl 函数会将$value 变量中用户输入的整数值翻倍,然后用 return 命令返回结果。脚本用$?变量显示出该结果。
当用这种方法从函数中返回值时,一定要小心。为了避免出问题,牢记以下两个技巧。
函数执行一结束就立刻读取返回值。
退出状态码必须介于 0~255。

如果在用$?变量提取函数返回值之前执行了其他命令,那么函数的返回值会丢失。记住,
$?变量保存的是最后执行的那个命令的退出状态码。
第二个技巧界定了返回值的取值范围。由于退出状态码必须小于 256,因此函数结果也必须
为一个小于 256 的整数值。大于 255 的任何数值都会产生错误的值:

$ ./test5 
Enter a value: 200 
doubling the value 
The new value is 1 
$

使用函数输出
正如可以将命令的输出保存到 shell 变量中一样,也可以将函数的输出保存到 shell 变量中:

result=$(dbl) 


这个命令会将 dbl 函数的输出赋给$result 变量。来看一个例子:

$ cat test5b 
#!/bin/bash 
# using the echo to return a value 
function dbl { 
    read -p "Enter a value: " value 
    echo $[ $value * 2 ] 
} 
result=$(dbl) 
echo "The new value is $result" 
$ 
$ ./test5b 
Enter a value: 200 
The new value is 400 
$ 
$ ./test5b 
Enter a value: 1000 
The new value is 2000 
$ 


新函数会用 echo 语句来显示计算结果。该脚本会获取 dbl 函数的输出,而不是查看退出状态码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微辣已是极限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值