shell脚本获取函数返回值
时间: 2023-08-25 13:17:43 浏览: 55
要在Shell脚本中获取函数的返回值,可以使用`$?`特殊变量。在函数调用后,可以通过`$?`来获取函数的返回码。一般来说,返回码为0表示函数执行成功,非零值表示出现错误。
下面是一个示例:
```bash
#!/bin/bash
# 定义一个函数,返回当前日期
get_date() {
date "+%Y-%m-%d"
}
# 调用函数并获取返回值
get_date
result=$?
# 打印返回值
echo "函数返回值为: $result"
```
在上面的例子中,`get_date`函数返回当前日期,并将结果保存在`result`变量中。然后通过`echo`语句打印出返回值。
注意:如果函数内部使用了`return`语句来显式地指定返回值,那么通过`$?`获取的将是该指定的返回值。如果函数没有使用`return`语句,那么通过`$?`获取的将是函数最后一条命令的返回码。
相关问题
shell脚本判断函数返回值
在 shell 脚本中,您可以通过 `$?` 变量来获取上一个命令或函数的返回值。一般来说,返回值为 0 表示成功,非零值表示失败或错误。
以下是一个示例的脚本,演示如何判断函数的返回值:
```shell
#!/bin/bash
# 定义一个函数
my_function() {
if [ "$1" -eq 0 ]; then
return 0
else
return 1
fi
}
# 调用函数,并保存返回值
my_function 10
return_value=$?
# 判断返回值
if [ "$return_value" -eq 0 ]; then
echo "函数执行成功"
else
echo "函数执行失败"
fi
```
在上述脚本中,定义了一个名为 `my_function` 的函数,根据传入的参数进行判断,并使用 `return` 语句返回不同的值。
然后,在调用 `my_function` 并将返回值保存到 `return_value` 变量中后,根据返回值进行判断,并输出相应的结果。
希望这个示例对您有帮助!如果还有其他问题,请随时提问。
shell脚本获取返回值
在shell脚本中,可以通过return关键字或echo关键字来获取函数的返回值。
1. 使用return关键字返回函数值:
```shell
#!/bin/bash
function func1(){
count=0
for cont in {1..3}; do
count=`expr $count + 1`
done
# 函数中使用return返回时,返回值的数据类型必须是数字
return $count
}
# 调用函数并获取返回值
func1
res1=$?
# 判断返回值是否正确
if [[ $res1 == 3 ]]; then
echo "func1() succeeded!"
else
echo "Not a right number!"
fi
```
2. 使用echo关键字返回函数值:
```shell
#!/bin/bash
function func1(){
count=0
for cont in {1..3}; do
count=`expr $count + 1`
done
# 函数中使用echo返回时,可以返回任意类型的值
echo $count
}
# 调用函数并获取返回值
res2=$(func1)
# 判断返回值是否正确
if [[ $res2 == 3 ]]; then
echo "func1() succeeded!"
else
echo "Not a right number!"
fi
```