众所周知,' history‘命令显示Linux服务器的命令行历史记录,而'history -c’是清除/删除该命令行历史记录的命令。
我必须通过我的bash脚本触发这个命令。脚本如下:
#! /bin/bash
var=`history -c`
if [ $? -eq 0 ]
then
echo "cleared"
echo $var
fi输出如下:
cleared尽管其输出“已清除”,但history-c并未删除历史记录。
如果你能指导/建议我如何做到这一点,那就太好了,即在我的bahs脚本中使用“history.Or -c”命令来删除命令行历史记录是否有其他方法可以通过我的bash脚本删除命令行历史记录。
谢谢和问候,纳维亚
发布于 2015-12-07 13:07:57
history -c将清除当前shell的历史记录,但不会删除~/..bash_ history。
但是,当您运行脚本时,当前的shell会创建一个新的shell来运行脚本,并在脚本完成时退出该shell。
相反,要在当前shell中执行脚本,您必须获取该脚本的源代码。如果脚本的名称为foo.sh,请尝试运行. ./foo.sh
但在这两种情况下,您编写的脚本都不会执行该命令。将其修改为如下所示:
#! /bin/bash
history -c
if [ $? -eq 0 ]
then
echo "cleared"
fihttps://stackoverflow.com/questions/34126504
复制相似问题