командная подстанция для многострочного вывода команды?

Как я могу выполнить следующую замену команды?

$ time real 0m0.000s user 0m0.000s sys 0m0.000s $ oldtime="$(time)" bash: command substitution: line 23: syntax error near unexpected token `)' bash: command substitution: line 23: `time)"' 

Я думаю, это не работает, потому что вывод команды имеет несколько строк, потому что работает один вывод:

 $ oldtime="$(echo hello)" $ echo $oldtime hello 

  • Почему я должен использовать $ вместо $ ((EXPR))?
  • Самый быстрый способ изменить dir из / xxxxx / foo / yyyyyy в / xxxxx / bar / yyyyyy
  • Почему set-o errexit нарушает это выражение read / heredoc?
  • Команда Bash не выполняется из сценария, но работает при вводе в терминал
  • что не так с моим простым сценарием меню выбора?
  • Переменные изменения определения в Bash
  • Может ли bash распознавать объявление переменной как строку, если вы не ставите кавычки?
  • Настройка Bash - Как оставить пробелы перед выводом команды?
  • 2 Solutions collect form web for “командная подстанция для многострочного вывода команды?”

    Я не уверен, что вы пытаетесь поймать, потому что time не записывается в stdout:

     $ time > tmpfile real 0m0.000s user 0m0.000s sys 0m0.000s 

    и вы на самом деле не «время».

     oldtime="$(time echo)" 

    не выдает ошибку, но все равно печатает время на stdout.

    Вы, вероятно, захотите сделать что-то вроде

     $ oldtime="$( { time ; } 2>&1 )" 

    При запуске в подобном подобном случае вы можете использовать times вместо этого. Это в основном одно и то же – за исключением того, что вместо того, чтобы сообщать о времени обработки для конвейера, переданного ему в качестве аргументов, вместо этого он сообщает о временах обработки, используемых его родительской оболочкой (read: командная подоболочка) и всех ее дочерних элементов с момента ее родительская оболочка была вызвана – и она должна записываться в stdout.

    Таким образом, вы можете:

     pipeline_out=$(some | arbitrary | pipeline; times) 

    … захватить все это.

    Или просто посмотреть резюме использования для текущего сеанса оболочки:

     times 
    Interesting Posts

    Обновить билет Kerberos для демона

    Отключить изменения

    Предотвращение потери данных (или восстановление) в mysql db во встроенных системах

    Почему «cp -uav» из git repo показывал «удаленные» для некоторых файлов?

    Последствия для безопасности, забывающие процитировать переменную в оболочках bash / POSIX

    Выровнять столбцы в файле ASCII

    Сортировка строк по количеству слов на строку

    Как создать резервную копию Debian с зашифрованным LVM с помощью rsync?

    Как заставить FreeBSD назначать маршрутизатор по умолчанию при получении IP-адреса в режиме DHCP?

    Создание содержимого сложной переменной вручную

    Беспроводная сеть и проводной сервер dhcp

    Почему «$ i | sed "не работает?

    Построение кухонного прибора: поток, серфинг, сенсорный экран, загрузка быстро

    Настройка изображения для i3-lock: «Не удалось загрузить изображение x: из памяти»

    Замените мой повторяющийся планировщик заданий на некоторый существующий продукт

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