在屏幕会话中,可以通过输入^A:hardcopy -h /path/to/filename
将其回滚缓冲区保存到文件中。但是,这会从输出中删除所有ANSI控制序列。
我想要less -R
之类的内容,但是要保存回滚缓冲区。
生成彩色文本的示例脚本:
#!/bin/bash
# both times, the word 'red' is printed in bright red text.
printf 'example \x1b[1;31mred\x1b[m output\n' |tee example.log
cat example.log
您还可以使用less -R example.log
答案 0 :(得分:0)
当终端使用ANSI序列时,它不会逐字地将它们存储在内存中,而是转换为屏幕上各个字符的显示属性。显然,hardcopy
并非旨在输出这些属性。
但是,如果启用日志记录,您可能会得到所需的内容。例如,请参阅this answer。