这就是我想要实现的目标:
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
答案 0 :(得分:64)
运行命令并检查结果代码时,不要使用[[
(或[
)。
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
答案 1 :(得分:3)
是。你可以通过回波检查返回(虽然不是严格的回报):
if [[ "$(f1)" == "whatever" ]]
有效
有关函数返回值的更多信息,请参阅此页面。它还有一些很好的评论,专门讨论if语句。
http://www.linuxjournal.com/content/return-values-bash-functions