在函数 中返回一个值在 bash 中呼应
Returning a value in a function witch echoes in bash
我正在尝试创建一个 bash 函数,但此函数必须显示一些消息和 return 一个值。
这是一个例子:
#!/bin/bash
function test() {
echo "Hello"
return 0
}
if [ $(test) ]; then
echo "yes"
else
echo "no"
fi
但是我无法捕获 returning 值,如果我执行回显退出。
这是可能的?
此致
当然可以:if
分支基于 return 状态,并将输出分配给变量不会影响 return 状态:
if output=$(testFunc); then
echo "success: $output"
else
echo "failure: $output"
fi
如果您需要 return 值,您可以从 $?
变量中获取:
output=$(foo 0)
rc=$?
if [[ $rc -eq 0 ]]; then # or `if ((rc == 0))`, an arithmetic comparison
echo "success: $output $rc" # $rc will always be 0 here
else
echo "failure: $output $rc"
fi
我正在尝试创建一个 bash 函数,但此函数必须显示一些消息和 return 一个值。 这是一个例子:
#!/bin/bash
function test() {
echo "Hello"
return 0
}
if [ $(test) ]; then
echo "yes"
else
echo "no"
fi
但是我无法捕获 returning 值,如果我执行回显退出。 这是可能的? 此致
当然可以:if
分支基于 return 状态,并将输出分配给变量不会影响 return 状态:
if output=$(testFunc); then
echo "success: $output"
else
echo "failure: $output"
fi
如果您需要 return 值,您可以从 $?
变量中获取:
output=$(foo 0)
rc=$?
if [[ $rc -eq 0 ]]; then # or `if ((rc == 0))`, an arithmetic comparison
echo "success: $output $rc" # $rc will always be 0 here
else
echo "failure: $output $rc"
fi