Описание тега beetroot
Если вы используете /usr/Бен/времени
, то единственный способ отправить приурочен процесса stderr и времени на разные каналы, чтобы рассказать время
утилита, чтобы сделать это. Вы не можете сделать это с помощью перенаправления в оболочке, что вызывает время
, потому что время процесса stderr и выход из Время
себя отправляют на тот же файловый дескриптор.
Тем временем
утилиты, которые вы используете (в зависимости от вашего использования -Ф
, это в GNU coreutils) имеет опцию -о
, Чтобы сказать это писать в другой файл, и -в
добавление к этому файлу. Этот вариант также существует на FreeBSD и macOS.
#!/Бен/ш
Эхо "$@" >>/tmp/и раз
старпома времени-F %Е -а-о /tmp/и раз -"$@"
Кроме того, вы можете использовать оболочку сайта (в раковинах, которые он, в который входят Баш, КШ и zsh). С сайта, вы можете контролировать, где время информация идет через редирект, так как вы можете указать перенаправление в рамках отложенного процесса.
#!/бин/Баш
Эхо "$@" >>/tmp/и раз
TIMEFORMAT КОМПОНЕНТА='%Р'
{ время "$@" 2>&3; } 3>&2 2>>/ТМП/раз