首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bash脚本中使用'history-c‘命令?

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

Stack Overflow用户
提问于 2015-12-07 12:34:25
回答 1查看 2.5K关注 0票数 7

众所周知,' history‘命令显示Linux服务器的命令行历史记录,而'history -c’是清除/删除该命令行历史记录的命令。

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

代码语言:javascript
复制
#! /bin/bash
var=`history -c`
if [ $? -eq 0 ]
then
echo "cleared"
echo $var
fi

输出如下:

代码语言:javascript
复制
  cleared

尽管其输出“已清除”,但history-c并未删除历史记录。

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

谢谢和问候,纳维亚

EN

回答 1

Stack Overflow用户

发布于 2015-12-07 13:07:57

history -c将清除当前shell的历史记录,但不会删除~/..bash_ history。

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

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

但在这两种情况下,您编写的脚本都不会执行该命令。将其修改为如下所示:

代码语言:javascript
复制
#! /bin/bash
history -c
if [ $? -eq 0 ]
then
echo "cleared"
fi
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34126504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档