function _transformMask2Prefix { local _tm2p_tmp=$2 test -n "$_tm2p_tmp" || { $_MASK2PREFIX "$3" || _tm2p_tmp=$? } eval $1=\$_tm2p_tmp return 0 }
Как тут программа $_MASK2PREFIX передаёт результат? Правильно, так, как не передаёт ни один вменяемый человек - через код возврата!
Не, ну я конечно понимаю, лишний форк, все дела, типа мы сэкономили вам кучу процессорного времени, переключений контекста и памяти, охуительно быстро опять же, но есть же, блядь, стандарты кодирания в юниксах! Прочёл stdin, выведи, будь ласка, в stdout, ошибкой плюнься в stderr. Хулио тут сложного? Кроме того, работает эта программа раз в сто лет, когда интерфейс дёргается в up. Нахуй тут экономить, не понимаю...
Так вот и живём.