On Fri, Feb 09, 2018 at 09:19:13AM +0200, Valentin Nechayev wrote: > > (хотя всё-таки это дополнительная громоздкость, и для полноты счастья > > хотелось бы готового (даже не утилиту, а builtin, устанавливающий экситкод > > (переменную $?), наподобие builtin true/false)) > > Его не предусматривают, мне кажется, потому, что $? неустойчива - она > модифицируется каждой следующей командой.
Это понятно. Я имела ввиду builtin, который не делает ничего кроме как устанавливает код выхода (наподобие true/false) > Поэтому мне изначально вся проблема кажется надуманной, или попыткой > решения в условиях "категорически запретили приводить стиль к > нормальному". Или же какие-то ситуации в духе "100500 веток case, > из которых 99% просто передают статус последней команды в теле ветки, > но для 1% его надо выставить вручную" (а почему тогда не true/false, > они же тоже встроены?) - тоже редкий и странный вариант. Ммм.. Попробую перефразировать свою задачу: Требуется преобразовать строку в exitcode (0 или >0). Можно, конечно, так: [ $somestr = '0' ] && true || false Но, по-моему, так было бы проще: setstatus $somestr Другими словами, в скрипте выполнять одно из двух действий в зависимости от содержания строки, но используя для ветвления не test а exitcode. Впрочем, я уже почти готова согласиться, что перемудрила.. _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd