我们知道,'历史'命令显示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
答案 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