Могу ли я написать вывод команды разницы времени в файл?

Могу ли я записать вывод команды разницы во времени в файл?

Например, я попробовал:

$ time foo.sh > bar.txt 

Но он выводит только результат foo.sh на bar.txt.

  • Каков наиболее эффективный способ добавления миллисекунд к этому коду?
  • Время выполнения и ресурсы после процессов, которые выполнялись так долго
  • Изменение Debian и системных часов?
  • В Ubuntu - / var / log / messages отметки времени на 4 минуты вперед
  • Какое состояние (состояния) процесса пересчитывается на время процессора?
  • Тестирование интенсивности процессора одной команды или функции
  • Как спать до определенной даты и времени?
  • Почему существует разница в длительности выполнения команды с различными методами перенаправления?
  • 4 Solutions collect form web for “Могу ли я написать вывод команды разницы времени в файл?”

    Во многих оболочках, включая ksh , zsh и bash , time является ключевым словом и используется для временных конвейеров.

     time foo | bar 

    Будет время как команды foo и bar ( zsh покажет вам разбивку). Он сообщает об этом на stderr оболочки.

     time foo.sh > bar.txt 

    Скажу вам время, необходимое для открытия bar.txt и запускать foo.sh

    Если вы хотите перенаправить вывод времени, вам нужно перенаправить stderr в контексте, где time запускается, например:

     { time foo.sh; } 2> bar.txt 

    Эта:

     2> bar.txt time foo.sh 

    работает также, но с ksh93 и bash , потому что он не находится в первой позиции, time не распознается как ключевое слово, поэтому вместо этого используется команда time (вы, вероятно, заметите другой формат вывода и не тратите время на конвейеры) ,

    Обратите внимание, что оба будут перенаправлять как выход времени, так и ошибки foo.sh на bar.txt . Если вам нужен только выходной сигнал, вам понадобится:

     { time foo.sh 2>&3 3>&-; } 3>&2 2> bar.txt 

    Обратите внимание, что POSIX не указывает, ведет ли time к ключевому слову или встроенному (независимо от того, идет ли он по конвейерам или одиночным командам). Поэтому, чтобы быть переносимым (в случае, если вы хотите использовать его в сценарии sh который вы хотите использовать в разных Unix-подобных системах), вы должны, вероятно, написать его:

     command time -p foo.sh 2> bar.txt 

    Обратите внимание, что вы не можете выполнять функции времени или встроенные или конвейеры или перенаправлять ошибки foo.sh отдельно, если только вы не запускаете отдельную оболочку, как в:

     command time -p sh -c 'f() { blah; }; f | cat' 

    Но это означает, что время также будет включать время запуска этого дополнительного sh .

    Не все версии времени поддерживают аргументы -o и –output.

    Вы хотите запустить команду следующим образом:

     (time script.sh) 1> /dev/null 2> /tmp/logFile 

    Это поместит вывод script.sh в / dev / null и результаты в / tmp / logFile.

    Если вы хотите, чтобы STDERR и STDOUT перешли в файл журнала, вы можете запустить его следующим образом:

     (time script.sh) &> /tmp/logFile 

    Чтобы получить вывод ls и вывод time в файле:

     (time ls) &> log 

    Чтобы получить только результат time в файле:

     (time ls) 2> log 

    /usr/bin/time в stderr , поэтому вам нужно будет перенаправить это.

     /usr/bin/time foo.sh 2>bar.txt 

    Если вы используете встроенное time bash, вам нужно написать его по-другому:

     (time ls) 2>bar.txt 

    Кроме того, time GNU поддерживает аргумент --output :

     /usr/bin/time --output bar.txt foo.sh 
    Interesting Posts

    Изменить вид в режиме emacs dired

    Какие параметры `ServerAliveInterval` и` ClientAliveInterval` в sshd_config точно выполняются?

    Универсальное приложение для входящих сообщений?

    Как найти все шестнадцатеричные числа между двумя номерами

    Изменение размера логического тома без бесплатных экстентов, но с свободным дисковым пространством

    Можно ли загружать ядро ​​x86 Linux с помощью консолей с текстовым режимом 80×25 и консолей-пультов VESA?

    Разделите файлы в каталоге и переместите их в другой вновь созданный каталог

    Как просмотреть командную строку процессов, выполненную за последние 10 секунд

    Emacs sync w / Календарь и контакты Google?

    Как предоставить чтение, запись разрешений с использованием IP-адресов в SAMBA

    Почему -backup подразумевает алгоритм дельта-передачи, который, в свою очередь, подразумевает -u?

    Как выключить компьютер из Openbox в качестве элемента меню?

    Как ограничить скорость ftp

    Как я могу ограничить количество ядер процессора, которые пользователь может использовать в любой момент в Linux?

    разрыв с программой, запущенной в интерактивном сеансе в окне экрана

    Linux и Unix - лучшая ОС в мире.