В bash есть ли способ отобразить / распечатать последний стандартный вывод? Есть ли переменная, которой назначен стандартный вывод? - PullRequest
4 голосов
/ 04 августа 2011

В bash есть ли способ отобразить / вывести последний стандартный вывод? Есть ли переменная, которой назначен стандартный вывод?

Я не хочу перенаправлять вывод. Я просто хочу иметь возможность читать / распечатывать его после запуска команды.

Ответы [ 2 ]

9 голосов
/ 04 августа 2011

Нет, нет способа увидеть строку, отправленную на stdout, если stdout уже не было отправлено куда-то. Если он был отправлен на консоль, скопируйте текст с этой консоли. Если вы отправили его в файл, tail -n 1 этот файл. Если вы можете повторно запустить команду, которая генерирует строку, которую вы хотите увидеть, я бы предложил передать ее по номеру tail -n 1, чтобы увидеть только последнюю строку вывода.

Bash хранит историю выполненных команд (~/.bash_history по умолчанию в GNU Bash 4.2), но не выводит.

8 голосов
/ 08 августа 2011

Попробуйте добавить |tee output в конец вашей команды.

Если вы хотите захватить вывод терминала всей вашей сессии, попробуйте script (1) .

Кроме того, этот спрашивающий ищет возможность поиска выходных данных команды, поэтому проверьте ответы там же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...