[devel] Вопрос про time

Anton Farygin rider на basealt.ru
Чт Май 23 07:46:22 MSK 2019


22.05.2019 21:40, Dmitry V. Levin пишет:
> On Wed, May 22, 2019 at 08:54:20PM +0300, Anton Farygin wrote:
>> 22.05.2019 18:17, Dmitry V. Levin пишет:
>>> On Wed, May 22, 2019 at 06:06:29PM +0300, Anton Farygin wrote:
>>>> 22.05.2019 18:03, Dmitry V. Levin пишет:
>>>>> On Wed, May 22, 2019 at 05:57:54PM +0300, Levin Stanislav wrote:
>>>>>> При наличии bash time возможность использовать внешнюю команду
>>>>>> (например, '/usr/bin/time') имеется.
>>>>> Да, но никто не будет переписывать написанные за 20 лет скрипты.
>>>>>
>>>> info sed ?
>>>>
>>>> Чего там переписывать то ?
>>> time -o на builtin time не переписывается точно так же,
>>> как time {} не переписывается на GNU time.
>> Конечно, но если у тебя в скрипте уже есть вызов time, то ты можешь его
>> заменить на /usr/bin/time и продолжить пользоваться этим скриптом.
>>> На то, чтобы найти и переписать скрипты, уйдёт ещё 20 лет.
>> Я не знаю, как устроен поиск скриптов у тебя, но такие инструменты как
>> find, grep, git grep и т.д. могут помочь.
> Пока эти скрипты работают, я не буду тратить своё время на бесполезные
> изменения, и вам не советую.
>
> Если кому-то нужно, чтобы работал сторонний скрипт, заточенный на
> непортабельный builtin, то этот кто-то может доработать скрипт.
>
> Если кому-то нужно, чтобы был включён этот builtin,
> этот кто-то может доработать этот builtin.
>
> Если кто-то будет дорабатывать builtin, я готов поревьюить.
>
Логика понятна, но это ведь палка о двух концах.

В каких-сто случаях твой скрипт будет работать ожидаемо криво на других 
системах, в которых time зарезервировано для использования внутри bash. 
Т.е. вместо unportable builtin ты пишешь скрипты, которые вроде как, с 
одной стороны, используют portable time, а с другой стороны - сами по 
себе unportable на системы, в которых этот самый time собирают в виде 
builtin (точнее reververd keywords).

Если писать portable скрипты, то не будет проблем при переходе на другие 
системы с bash, в котором time внешний, а не reverved keywords.

А так - в далёком 1999 году парни из мандрейка сделали ошибку и уже её 
откатили, а мы тянем до сих пор.




Подробная информация о списке рассылки Devel