linux – 如何在bash脚本中使用’history-c’命令?

众所周知,’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
最佳答案
history -c清除当前shell的历史记录,不删除/ .bash_history.

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

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

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

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

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。