Linux 如何使用';历史-c';bash脚本中的命令?

Linux 如何使用';历史-c';bash脚本中的命令?,linux,shell,Linux,Shell,我们知道,'history'命令显示Linux服务器的命令行历史记录,'history-c'是清除/删除此命令行历史记录的命令 我必须通过bash脚本触发这个命令。剧本如下: #! /bin/bash var=`history -c` if [ $? -eq 0 ] then echo "cleared" echo $var fi 结果如下: cleared 虽然它的输出被“清除”,但history-c并没有删除历史 如果您能指导/建议我如何实现这一点,即在我的bahs脚本中使用“his

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

我必须通过bash脚本触发这个命令。剧本如下:

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

  cleared
虽然它的输出被“清除”,但history-c并没有删除历史

如果您能指导/建议我如何实现这一点,即在我的bahs脚本中使用“history-c”命令删除命令行历史记录,那就太好了。或者是否有其他方法可以通过我的bash脚本删除命令行历史记录

谢谢和问候,
Navya

历史记录-c
清除当前shell的历史记录,并且不删除~/.bash_历史记录

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

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

但无论哪种情况,您编写的脚本都不会执行该命令。将其修改为如下内容:

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

谢谢你Nikhil/foo.sh现在工作:)。我想在SAP Host Agent的自定义操作文件中使用此命令,但它会引发错误。是否有其他方法可以删除根用户的历史记录?或者以任何方式包括/操作文件中的foo.sh命令?谢谢你的帮助。谢谢和问候,NavyaSame稍微短一点:
history-c&&echo“cleared”