Ответ 1
При запуске команды и проверке кода результата вы не используете [[
(или [
).
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
вот что я пытаюсь достичь:
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
При запуске команды и проверке кода результата вы не используете [[
(или [
).
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
Да. Вы можете сделать это, проверив против возврата с помощью эха (хотя и не строгого возврата):
if [[ "$(f1)" == "whatever" ]]
работает
Более подробную информацию о возвращаемых значениях функций см. на этой странице. В нем также есть несколько хороших комментариев, в которых конкретно говорится о заявлениях.
http://www.linuxjournal.com/content/return-values-bash-functions