script
命令允许轻轻地记录会话期间放入控制台的所有内容(如历史记录,但也显示命令的结果)。所有内容都记录到文件中typescript.xxx
现在我想在每个已运行的终端会话中运行它。我试图将它放入其中,script
但bashrc
它陷入了递归循环(script
正在运行它自己的 shell)。有什么想法吗?
答案1
添加
vi ~/.bash_profile
添加
exec script
到底部(因此它是登录时最后加载的内容)。
不过,您必须为每个用户都执行此操作...但应该可以完成工作。
答案2
SnakeDoc 的回答如果您可以强制所有 shell 为登录 shell,则可能会有效。例如,如果您通过 ssh 连接到远程服务器。如果这是您的本地计算机并且您希望script
每次打开终端时都运行,我能想到的唯一方法是使用终端的设置。
例如,使用我个人最喜欢的终端(终结者,在可安装的 Debian 上sudo apt-get install terminator
),您可以设置打开终端时要运行的特定命令。打开并将~/.config/terminator/config
这些行添加到 [[default]]
配置文件中:
use_custom_command = True
custom_command = script -a
您还可以将其设置为script
仅为特定配置文件运行。在[[default]]
配置文件后添加以下几行:
[[script]]
use_custom_command = True
custom_command = script -a
这将创建一个名为 的新配置文件script
,您可以通过执行 来运行它terminator -p script
。
在 上gnome-terminal
,您可以执行以下操作: