【问题标题】:how can I count my command history to a shell variable?如何将我的命令历史记录到 shell 变量中?
【发布时间】:2021-02-17 05:34:03
【问题描述】:

我正在使用下面的脚本来计算我的命令历史记录,但总是得到 0,我如何将我的历史记录计算到 shell 变量中?

#! /bin/bash
count=$(history | wc -l)
echo $count

【问题讨论】:

  • 如果您想要交互式 shell 的历史行数,请尝试运行 . name-of-scriptsource name-of-script。也可以试试echo $HISTCMD
  • 由于@Milag 概述了与当前shell 相关的历史记录,因此在没有源代码的情况下运行脚本将在另一个没有历史记录的bash shell 中运行历史命令
  • 如何在同一个脚本文件中运行 source name-of-script?似乎不可能

标签: linux bash shell command


【解决方案1】:

首先,您必须在脚本中激活 shell 内置 history

HISTFILE=~/.bash_history
set -o history

之后你就可以使用你的源代码了。

【讨论】:

  • 但是脚本和直接运行命令的计数结果似乎不相等,为什么会发生这种情况?有什么方法可以使它们相同?
  • 似乎 .bash_history 文件与历史命令不同,但如果我注销/登录它们几乎相同。似乎历史缓存行在 .bash_history 中删除之前。
猜你喜欢
  • 2011-06-16
  • 2021-06-24
  • 2011-10-01
  • 1970-01-01
  • 2017-12-10
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多