Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回函数中的值,该函数在bash中回响_Bash_Function_Echo_Return Value - Fatal编程技术网

返回函数中的值,该函数在bash中回响

返回函数中的值,该函数在bash中回响,bash,function,echo,return-value,Bash,Function,Echo,Return Value,我试图创建一个bash函数,但是这个函数必须显示一些消息并返回一个值。 这是一个例子: #!/bin/bash function test() { echo "Hello" return 0 } if [ $(test) ]; then echo "yes" else echo "no" fi 但是如果我做一个回音退出,我就不能捕获返回值。 有可能吗? 关于确保您可以

我试图创建一个bash函数,但是这个函数必须显示一些消息并返回一个值。 这是一个例子:

#!/bin/bash

function test() {
        echo "Hello"
        return 0
}

if [ $(test) ]; then
        echo "yes"
else
        echo "no"
fi
但是如果我做一个回音退出,我就不能捕获返回值。 有可能吗?
关于

确保您可以:
如果
根据返回状态进行分支,并且将输出分配给变量不会影响返回状态:

如果输出=$(testFunc);然后
echo“成功:$output”
其他的
echo“失败:$output”
fi
如果需要返回值,可以从
$?
变量中获取:

output=$(foo 0)
rc=$?
如果[$rc-等式0]];然后是#或`如果((rc==0))`,一个算术比较
echo“success:$output$rc”#$rc在此处始终为0
其他的
echo“失败:$rc输出”
fi

btw:为了避免意外,我不会给已经指定为内置命令的函数命名。请参阅:
类型测试
帮助测试
帮助
是的,这只是一个示例代码,将其发布到StackOverflow中这适用于0返回(ok)或0返回(ko),但我如何捕获recurn值?