我知道历史记录会捕获我运行的命令,但它是特定于shell的。我使用多个shell和多个主机,并希望编写一个小脚本,在我运行的每个命令之后,将该命令与主机名一起转储到某个文件。这样,我可以实现我自己的历史命令,该命令从该文件中读取,并且可以将主机作为参数,这对我来说很方便。我不知道如何获得第一部分..即,获取我输入的每个shell命令以触发“将该命令转储到文件中”部分。有什么想法吗?
由于
答案 0 :(得分:0)
在bash中,PROMPT_COMMAND
环境变量包含将在显示PS1
提示之前执行的命令。所以你的可能就像history | tail -n1 | perl -npe 's/^\s+\d+\s+//' | yourcommand HOST
答案 1 :(得分:0)
script
实用程序应该可以解决您的问题。它会记录您键入的所有内容以及在终端上打印的所有内容(甚至包括终端控制代码,因此,如果您在控制台上cat
该文件,您甚至可以重现原始文本颜色。)