我正在编写一个脚本,将历史记录转储到另一个文件“myhistory.log”,然后清除该历史记录。我编写了以下命令集:
date >> myhistory.log
history >> myhistory.log
history -c
一切顺利,只是以前的历史记录没有被清除。我尝试了以下变化:
\history -c
和
CLRH="history -c"
exec $CLRH
我可能遗漏了什么?
答案1
默认情况下,对于 bash,命令历史记录存储在~/.bash_history
文件中。
另外,你也可以这样做:
#!/bin/bash
date >> ~/myhistory.log
cat ~/.bash_history >> ~/myhistory.log
echo -n "" > ~/.bash_history
这将附加到~/myhistory.log
(如果文件已经存在,否则创建一个新文件并写入它)脚本运行的日期,转储历史记录,并清除文件~/.bash_history
。