Dans bash, pouvez-vous utiliser un appel de fonction comme condition dans une instruction if?
Voici ce que j'essaie de réaliser:
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
29
demandé sur
chickeninabiscuit
2011-11-14 09:51:49
2 réponses
Vous n'utilisez pas [[
(ou [
) lors de l'exécution d'une commande et de la vérification du code de résultat.
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
58
répondu
Ignacio Vazquez-Abrams
2011-11-14 05:59:35
Oui. Vous pouvez le faire en vérifiant un retour au moyen d'echo (bien que ce ne soit pas un retour strict):
if [[ "$(f1)" == "whatever" ]]
œuvres
Voir cette page pour plus d'informations sur les valeurs de retour de fonction. Il y a aussi quelques bons commentaires qui parlent spécifiquement des déclarations if.
Http://www.linuxjournal.com/content/return-values-bash-functions
3
répondu
evan
2011-11-14 06:05:05