我使用屏幕已经有一段时间了,我同意,它提高了我的工作效率。但我真正想念的一件事是命令历史记录。我在屏幕 session 中键入的任何内容都不会记录在命令历史记录中。当我用谷歌搜索时,我发现了与此问题相关的内容: http://www.linuxquestions.org/questions/slackware-14/aliases-lost-when-using-screen-723624/
但令人惊讶的是,在我的案例中,所有别名都完好无损,我可以毫无问题地使用它们。据我所知,打开一个新的屏幕 session 实际上会打开一个新的子外壳。如果这是真的,有人可以帮助我如何让在屏幕 session 中键入的命令记录在命令历史记录中,这样如果我稍后打开一个新的终端/屏幕,我将能够使用命令历史记录访问命令CTRL+R。任何帮助我在命令历史记录中创建屏幕日志命令的解决方案都会非常有帮助。珍惜你的时间。谢谢你。
最佳答案
假设屏幕中正在使用 bash shell。
将 2 条语句插入到 ~/.bashrc 中:
shopt -s histappend
PROMPT_COMMAND="$PROMPT_COMMAND;history -a"
第一个命令将命令附加到历史文件,而不是覆盖它,而第二个命令在每个命令执行后立即保存,而不是在 session 结束时保存。
为了扩展我的回答.. 您打开的每个 bash session 的历史记录都存储在内存中,直到您注销/关闭 session 。然后它将覆盖 bash 历史文件。 这些命令将附加到历史文件,然后在每个命令后刷新到文件。
关于linux - 在 linux 中使用 screen 命令不允许记录命令历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510217/