如何使用' history-c'命令在bash脚本中?

时间:2015-12-07 04:34:25

标签: linux shell

我们知道,'历史'命令显示Linux服务器的命令行历史记录和' history -c'是清除/删除此命令行历史记录的命令。

我必须通过我的bash脚本触发此命令。脚本如下,

#! /bin/bash
var=`history -c`
if [ $? -eq 0 ]
then
echo "cleared"
echo $var
fi

输出如下:

  cleared

虽然它的印刷"已清除"作为输出,history-c不会删除历史记录。

如果你可以指导/建议如何实现这一目标,即使用" history-c"在我的bahs脚本中命令删除命令行历史记录。或者还有其他方法可以通过我的bash脚本删除命令行历史记录。

谢谢&问候, Navya

1 个答案:

答案 0 :(得分:2)

history -c清除当前shell的历史记录,不会删除〜/ .bash_history。

但是当你运行一个脚本时,当前的shell会创建一个新的shell来运行脚本并在脚本完成时退出该shell。

相反,要在当前shell中执行脚本,您必须获取脚本。如果您的脚本名称为foo.sh,请尝试运行. ./foo.sh

但在任何一种情况下,您编写的脚本都不会执行该命令。将其修改为以下内容:

#! /bin/bash
history -c
if [ $? -eq 0 ]
then
echo "cleared"
fi