Всем доброго времени суток.
Подскажите, почему такая штука. Допустим, есть функция и из неё я возвращаю 0 или 1. Но, if и test по разному обрабатывают return.
Допустим:
$ function test () { return 1; }
$ [[ test ]] && echo ok || echo not ok
ok
$ if test; then echo ok; else echo not ok; fi
not okКоманда test обрабатывает успешность выполнения функции или как это работает? Как можно еще обработать return?