如何将实时日志 bash 输入保存到文件?

Lar*_*ars 5 command-line bash logging

在我教课时,一些学生在遵循我的 CLI 命令时遇到问题,并希望回滚以便能够以自己的速度重复这些步骤。所以我想将我所有的输入实时记录到一个 html 文件或类似的文件中,我可以通过网络服务器提供服务。这样,学生们只需访问http://example.com/log#end就可以看到最后的条目。

我知道多用户模式screen并且已经使用它来共享会话。但是,我需要禁用学生的写访问权限,不幸的是,如果我这样做,他们将无法向上滚动。

我也看了看script,但它产生了一个可怕的输出,即使过滤掉col -bp < logfile >> output.html也是不可读的。此外,它也会记录输出,这使事情变得复杂,并且只会以不可预见的时间间隔转储日志文件。

.bash_history 可以使用,但仅在会话结束时转储到文件中。

有任何想法吗?

sмu*_*urf 5

使用内置命令history

history -w hist.txt
Run Code Online (Sandbox Code Playgroud)

将当前历史保存到文件 hist.txt 中。

如果您将权限写入适当的目录,您可以执行以下操作:

history -w /var/www/html/latest_history.txt
Run Code Online (Sandbox Code Playgroud)

然后你的学生可以在浏览器中访问它:http://teachers.ip.address/latest_history.txt