【发布时间】:2011-11-14 05:51:49
【问题描述】:
这是我想要达到的目标:
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
【问题讨论】:
标签: bash
这是我想要达到的目标:
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
【问题讨论】:
标签: bash
在运行命令并检查结果代码时不要使用[[(或[)。
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
【讨论】:
return 0 的意思是 true 因为这是基于退出代码而不是布尔逻辑。
是的。您可以通过 echo 检查返回来做到这一点(尽管不是严格的返回):
if [[ "$(f1)" == "whatever" ]] 有效
有关函数返回值的更多信息,请参阅此页面。它也有几个很好的 cmets 专门讨论 if 语句。
http://www.linuxjournal.com/content/return-values-bash-functions
【讨论】:
$(...)来获取返回值。