Я нахожу то, чтобы не забывать передать вывод по каналу моих команд в определенный файл для раздражения, моим решением является функция в моем .bash_profile
, который ловит вывод в файле и возвращает результат, когда Вам нужен он.
преимущество с этим состоит в том, что Вы не должны повторно выполнять целую команду (при использовании find
или другие продолжительные команды, которые могут быть очень важными)
Достаточно простой, вставьте это в Вашем .bash_profile
:
# catch stdin, pipe it to stdout and save to a file
catch () { cat - | tee /tmp/catch.out}
# print whatever output was saved to a file
res () { cat /tmp/catch.out }
$ find . -name 'filename' | catch
/path/to/filename
$ res
/path/to/filename
На данном этапе я склонен просто добавлять | catch
в конец всех моих команд, потому что нет никакой стоимости для выполнения его, и оно сохраняет меня имеющий необходимость повторно выполнить команды, которые занимают много времени для окончания.
кроме того, если Вы хотите открыть вывод файла в текстовом редакторе, можно сделать это:
# vim or whatever your favorite text editor is
$ vim <(res)